機械学習基礎理論独習

誤りがあればご指摘いただけると幸いです。数式が整うまで少し時間かかります。リンクフリーです。

勉強ログです。リンクフリーです
目次へ戻る

【Python実装 - sklearn使用】kNN法による回帰

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")

f:id:olj611:20210422212528p:plain

偉人の名言

f:id:olj611:20210422213309p:plain:w300
何をやっても思うようにならない時
上にのびられない時に
根は育つんだから
相田みつを

参考文献

Pythonではじめる機械学習

動画

なし

目次へ戻る