ディープラーニングについてディープにラーニング。

思いっきり、自分が学んだことのアウトプットしていきますが、何分初心者。もし何かアドバイス等頂けましたら幸いです!

第2章 教師あり学習(36-39)

引き続き、アウトプット用で書きます。

ここらで再度復讐

K-最近傍法=
新しいデータセットを使って予測を行う場合、
訓練データの中から一番近い点を見つけるアルゴリズム
複数ある場合は投票(確率の高いもの)で決まっていく

%matplotlib inline
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.neighbors import KNeighborsClassifier
import mglearn


X , y = mglearn.datasets.make_forge()
X_train , X_test , y_train , y_test = train_test_split(X , y , random_state = 0)

clf = KNeighborsClassifier(n_neighbors=3)

#クラスを訓練させる
clf.fit(X_train , y_train)

#予測
clf.predict(X_test)

#モデルの評価
clf.score(X_test , y_test)

評価自体は85%とまずまず。
でも、近傍点を今回3としたけれどほかの点の場合はどうなっているのか?

例に倣って、今回は1,3,9 で試す。

#グラフの書式設定
fig , axes = plt.subplots(1,3,figsize=(10 , 3))

for n_neighbors , ax in zip([1,3,9],axes):
clif = KNeighborsClassifier(n_neighbors=n_neighbors).fit(X , y)
mglearn.plots.plot_2d_separator(clf,X,fill=True , eps=0.5 , ax=ax , alpha=.4)
mglearn.discrete_scatter(X[:,0] , X[:,1],y,ax=ax)
ax.set_title("{}".format(n_neighbors))
axes[0].legend(loc=3)

よしよし、ではやってみよう…

f:id:kawam0t0:20191201181607p:plain
あれ?

なんでー
ふむ。。。
わからん…

いや、まてよ、いやわからん。
先生!変わらんかったですよ!!