第2章 教師あり学習(31-33)
第一章までは、もう学んでしまっているので、
ちょいと、途中からにはなりますが、ここから始めていこうと思います。
ここまではざっくりこんな感じーーーーーーーーーーーーーーーーー
・irisデータセットを使って簡単なモデル構築 →accuracyは0.97とまずまず。
・2章の教師あり学習(ここから記載)
・クラス分類 : これは猫、これは犬、など、ちゃんと分類できる
・回帰 :体重と慎重の関係性、のように、ある程度連続性がある
・あまりにも特徴量に差がなさすぎるデータを食わすと過学習(本番で弱いやつ)になってしまう。
・もしくは、あまりにも特徴量が膨大すぎると、適合不足になる
・一番精度高く出る所をスイートスポットと言って、それを見つけましょう。の話。
ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー
僕みたいに、
難しい理論とか、統計など、すっ飛ばしてきた人の
参考になればなぁ、と思ってますが、メインは自分のアウトプット用ですので、
書式等についてはご了承くださいませ!!
mglearn -> 著者が独自で作ったライブラリーらしい、コードを見やすくしてくれる
こちらのデータセットを使用(クラス分類型)
X , y = mglearn.datasets.make_forge()
X.shape -> (26.2)
y.shape -> 26
#1 -> X値 1行目の値
#2 -> Y値 2行目の値
#3 -> ラベル
#plt.scatterと同じやつ
mglearn.discrete_scatter(X[: , 0] , X[: , 1] , y)
plt.legend(["Class 0" , "Class 1"],loc=4) #グラフ内に表示してくれる
plt.xlabel("First")
plt.ylabel("Second")
つまりは、2つの特徴を持つデータセットで、データの量は26個持ってる
今回は特徴がはっきり分かれていて、
なおかつクラスも2クラスなので、わかりやすい…
では、お次は回帰のデータセットを見ておく。(連続性あり)
X , y = mglearn.datasets.make_wave(n_samples=40)
plt.plot(X , y , "o")
plt.ylim(-3 , 3) #Y軸のリミット
plt.xlabel("tokutyou")
plt.ylabel("ta-getto")
こちらは連続性のデータセット。
なるほど、
ターゲットの数が少なると特徴量は減っていき、
ターゲットの数が増えると、特徴量も一定数比例するととれる。
小さなデータセットはとても分かりやすいなぁ。
では、また!