見出し画像

アヤメのデータセットを使った機械学習完結!!学習して評価する

こんにちは!

ぷもんです。


train_test_split関数ってなんや?というnoteで
学習用と実験用にデータを分けました。

ニューラルネットワークをやるというnoteで
前回はニューラルネットワーク を組みました。

今回はこれらのnoteの続きです。
教師あり学習をやります。


まず、学習を実行します。
学習は「model.fit()」でできます。

model.fit(x_train,y_train,epochs=100)

「epochs=100」は繰り返す回数を指しています。
今回は100になっているので
100回学習を繰り返して精度をあげていきます。

「x_train」と「y_train」は
train_test_split関数ってなんや?で分けた
学習用のデータの数値とラベル
「model」は
ニューラルネットワークをやるでつくった
ニューラルネットワークだと考えると
「学習用のデータの数値とラベルを
ニューラルネットワークに入れて学習を100回繰り返す」
のようにやっていることが想像しやすいかと思います。


次に評価を実行します。
評価は「model.evaluate()」でできます。

score = model.evaluate(x_test,y_test,batch_size = 1)
print(score[1])

「x_test」と「y_test」は
train_test_split関数ってなんや?で分けた
評価用のデータの数値とラベルです。

「batch_size = 1」は、同時計算するサンプル数です。
ニューラルネットワークではある一定のデータ量を
まとめて処理することができ
まとめて計算することで計算上のコストを削減させています。

ここは少し理解しきれていない感があるのでもう少し勉強します。

評価した値を知るために「print(score[1])」で出力します。
[1]をつける意味が気になったので調べたのですが
score[1]が正答率、score[0]が誤答率っぽいです。(多分...。)


いよいよラストです。

ここまでは複数のデータを学習し複数のデータで評価し正答率を確認しました。
ここからは1つのデータに着目します。

import numpy as np
x = np.array([[5.1,3.5,1.4,0.2]])
r = model.predict(x)

numpyをインポートします。
numpyは配列(リスト)計算を高速にするためのPythonのライブラリです。

2行目の「x = np.array([[5.1,3.5,1.4,0.2]])」で
アヤメの数値を配列化しています。

3行目の「r = model.predict(x)」で
モデルを使って評価します。


出力方法は2通りです。

print(r)

を使った出力方法では確率で品種を示してくれます。
今回はsetosa、versicolor、virginicaの3つの品種から
どの品種の可能性が高いかを示します。


r.argmax()

を使った出力では確率の高い品種を
0=setosa、1=versicolor、2=virginicaで示します。



これでアヤメのデータセットを使った機械学習を理解できました!!!!

今回まででやってみて
①アヤメのデータセットを見る
②データを学習用、評価用に分ける
③ニューラルネットワークを組む
④学習し、評価する
の4つぐらいにやることを分けると機械学習は理解しやすいのかなと思いました。


始める前は機械学習なんてできるはずがないし
できたら世界変わるぐらいに思ってたけど
終わってみるとあっけなかったなという印象です。
(理解する前は過大評価で、理解後は過小評価現象)

コツコツやってみると難しいことでも理解できるもんですね。


今回やったのは分類なのか?
まだ自分の中では定かではないのですが
次は
今回やったことと比べながら
回帰、強化学習、教師なし学習など他の手法がどう違うのか?
をもっと調べたり

ノウハウコレクターになってしまってもしょうがないので
建築の分野や業務の効率化などの実際にできることはないか?
をやっていきたいと思います。


プログラミング初心者だからこそ
始めたばかりの人がつまずくこともかけるだろうと考えて
体系的に学ぶのを後回しにして
詰まったところを調べながら進んでいます。
(何に使うのかわからないと続かなくて
 体系的に学ぶのがあってないだけですが...笑)

これから始める人のヒントに少しでもなればいいなと思います。


最後に...

わかりやすくまとめてくれているサイトがあるから
独学で勉強できるのでこれらのサイトには感謝です!!

参考にしたサイトはこちらです!


最後まで読んでいただきありがとうございました。

ぷもんでした!

noteを日々投稿してます! もしいいなと思ってもらえたら サポートしてもらえるとありがたいです。 VRやパソコンの設備投資に使わせていただきます。 ご意見、質問等ありましたらコメントください。 #ぷもん でつぶやいてもらえると励みになります。 一緒に頑張りましょう!