kNN法による回帰
kNNによる回帰を行うときは、KNeighborsRegressorを作成して、fitする。
reg = KNeighborsRegressor(n_neighbors=n_neighbors).fit(X_train, y_train)
ソース
import matplotlib.pyplot as plt import numpy as np from sklearn.model_selection import train_test_split from sklearn.neighbors import KNeighborsRegressor import mglearn #データセットの生成 X, y = mglearn.datasets.make_wave(n_samples=40) # データを訓練データとテストデータに分割 X_train, X_test, y_train, y_test = train_test_split(X, y, random_state=0) fig, axes = plt.subplots(1, 3, figsize=(15, 3)) line = np.linspace(-3, 3, 1000).reshape(-1, 1) for n_neighbors, ax in zip([1, 3, 9], axes): reg = KNeighborsRegressor(n_neighbors=n_neighbors).fit(X_train, y_train) ax.plot(X_train, y_train, '^', c='blue', markersize=8, alpha=.5) ax.plot(X_test, y_test, 'v', c='red', markersize=8, alpha=.5) ax.plot(line, reg.predict(line), c='green') ax.set_title("{} neighbor(s)\n train score: {:.2f} test score: {:.2f}".format( n_neighbors, reg.score(X_train, y_train), reg.score(X_test, y_test) )) ax.set_xlabel("Feature") ax.set_ylabel("Target") axes[0].legend(["Model predictions", "Training data/target", "Test data/target"], loc="best")
偉人の名言
何をやっても思うようにならない時
上にのびられない時に
根は育つんだから
相田みつを
動画
なし