見出し画像

train_test_split関数ってなんや?

こんにちは!

ぷもんです。


今回から機械学習をやっていきます。


結論から書くと下のサイトの通りにすればできました!


僕は知識がないので写したらできたけど
何をやっているか理解できていない部分があったので
そこを中心に書きます。



#scikit-learnからデータの取り出し
from sklearn import datasets
iris = datasets.load_iris()
 
#アヤメの分類に使用するデータの確認
print(iris.DESCR)
iris.data
iris.target

ここまでは
pandasのデータフレームでアヤメのデータを表示する
データセットのアヤメの品種を知る
というnoteで書いたことと同じようなことをしています。


ここから知らないことがたくさん出てきました。

#アヤメの分類の学習
from sklearn.model_selection import train_test_split as split
x_train, x_test, y_train, y_test = split(iris.data,iris.target,train_size=0.8,test_size=0.2)
import tensorflow as tf
import keras
from keras.layers import Dense,Activation


・train_test_split関数

from sklearn.model_selection import train_test_split as split
x_train, x_test, y_train, y_test = split(iris.data,iris.target,train_size=0.8,test_size=0.2)

の部分では
データを分ける「train_test_split関数」が使われています。


そもそも、機械学習では学習させるためのデータと
その学習がうまくいったかを確かめるテストをするためのデータに
分けなければなりません。


「train_test_split関数」では

x_train, x_test, y_train, y_test = split(データ,品種,train_size=0.8,test_size=0.2)
のように書いて
xにデータ、yに品種を学習用:テスト用が8:2になるようにわける
という操作ができます。

自動でデータの内容はシャッフルされますが

x_train, x_test, y_train, y_test = train_test_split(
   iris.data, iris.target, train_size=0.8,test_size=0.2, shuffle=False)

のように「shuffle=False」をつけることでシャッフルしないようにできます。


さらに、「print関数」を使ってどんな風に分けたか見ることができて
下の画像が実際にやってみた様子です。


さらにさらに、print('size:', digits.data.shape[0])
のように「.shape[0]」をつけると
データの数が見れて分かれた割合がきちんと
比率通りになってるか確かめることもできます。


続いて
・tensorflow
・keras
について書こうと思ったのですが
結構長くなるので次回にします。


ちなみに

import train_test_split as split
import tensorflow as tf

のように「import 〇〇 as △△」は
〇〇をインポートして△△と省略するの意味なので
〜〜からの意味のfromと合わせて

「from 〜〜 import 〇〇 as △△」で
「〜〜から〇〇をインポートして△△と省略する」で
意味がわかるようにしておくと良さそうです。


引っかかったエラー

ここからは進めている途中に出たエラーと解決法を書きます。

僕みたいな初心者はエラーをどれだけ早く解決できるかが
継続の鍵なのでエラーと対処法は重要です...笑。


今回は参考にしたサイトを描いてくださった方が
わかりやすく書いてくださっていた
ほとんど引っかからずに進めることができました。

唯一出たエラーが

ModuleNotFoundError: No module named '〇〇'

です。


例えばこんな感じですね↓。

これは〇〇のモジュールがインストールされていなくて
指示されたモジュールを使えないことによるエラーです。


解決法は〇〇をインストールするだけ

pip install 〇〇

で解決しました!



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

ぷもんでした!

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