PythonでDeepLearning - scikit-learn
scikit-learnを使って簡単に機械学習の全体の流れを見てみましょう。
全体的の流れは
必要なライブラリを読み込み
from sklearn import datasets
from sklearn.model_selection import train_test_split
from sklearn import svm
from sklearn.metrics import accuracy_score
読み込んだライブラリから今回使うデータを読み込みます。
iris = datasets.load_iris()
x, y = iris.data, iris.target
まずトレーニングしたいので必要なトレーニングデータとテストデータに分けます。
x_train, x_test, y_train, y_test = train_test_split(x, y, random_state=1)
sklearnでは予測モデルが用意されているので必要なものを変数に入れときます。
model = svm.SVC()
そして学習です。先ほど分割したデータを入れて実行します。
model.fit(x_train, y_train)
トレーニングした結果を出してみます。
pred = model.predict(x_test)
print(accuracy_score(y_test, pred))
あとは実際に学習済のモデルを使って判定してみます。
pred = model.predict(x_test)
print(accuracy_score(y_test, pred))
最後に学習したモデルを使って判定してみましょう。
result = model.predict([[1.4, 3.5, 5.1, 0.2]])
iris_types = ['Setosa', 'Versicolour', 'Virginica']
print(iris_types[result[0]])
これを実行すると、
0.9736842105263158
Virginica
と出てきます。"0.9736842105263158"がaccuracy_scoreでうまく認識できている割合です。97%は正解だったことを表しています。
そして、今回[1.4, 3.5, 5.1, 0.2]の条件を満たすアヤメを予測した結果は"Virginica"であったというこそを示しています。
まとめてみると、
1 使うデータを準備
2 予測モデルを用意
3 予測モデルを使えるように学習させる
4 学習済モデルを使って予測
予測モデルは今回は機械学習のライブラリscikit-learnを使っていますが、これをDeepLearningのライブラリ、TensorFlowとPyTorchを使うとDeepLearningでの学習、予測ができます。モデル内の学習の方法と予測の方法がキモになってきます。流れとしては同じなのでまずはざっくりと理解しておくとよりハイレベルなことも理解できるようになると思います。
この記事が気に入ったらサポートをしてみませんか?