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

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

第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個持ってる

f:id:kawam0t0:20191201151137p:plain
プロットしてみると…


今回は特徴がはっきり分かれていて、
なおかつクラスも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")

f:id:kawam0t0:20191201152135p:plain
プロットしてみると…

こちらは連続性のデータセット
なるほど、
ターゲットの数が少なると特徴量は減っていき、
ターゲットの数が増えると、特徴量も一定数比例するととれる。

小さなデータセットはとても分かりやすいなぁ。



では、また!