初心者のための機械学習入門
どうもこんにちわ、クサッピーです
今回は、めっちゃ機械学習にはまっているクサッピーによる、機械学習入門を書きたいと思います
この記事では、X1やX2などいろいろとで出てきますが、深く考えず、とにかく手を動かしてください
・目次
・使うライブラリー
・scikit-learnのインストール
・モデルの作成
・fitで学習
・predictで予測
・まとめ
使うライブラリー
Pythonの機械学習ライブラリーはいっぱいあるんですが、今回はscikit-learnという、有名な機械学習ライブラリーを使います
引用元⬇
scikit-learnは、機械学習の仕組みを知らない人でも、少ないコードで、簡単に機械学習のモデルを作ることができます
scikit-learnのインストール
scikit-learnのインストールは簡単にpipで⬇
pip3 install scikit-learn
だけです
モデルの作成
まず、scikit-learnでモデルを作ってみましょう
上でも書いたとおり、scikit-learnは機械学習の仕組みを知らない人でも、少ないコードで簡単モデルを作れます
サンプルコード(SVCというアルゴリズムを使ったモデル)⬇
from sklearn.svm import SVC
model = SVC()
これだけです
さらに、人間の脳神経「ニューラル」の構造を元にして作ったニューラルネットワークも、こんな簡単に作れます⬇
from sklearn.neural_network import MLPRegressor
model = MLPRegressor()
fitで学習
次に、学習をしてみましょう
学習は、fitという関数でできます
今回使うデータは、簡単にするため、こんな感じのデータでやります⬇
X1:顔⬇ X2:金⬇
1...ブス 1....金持ち
2...超イケメン 2....貧乏
3..いたって普通 3...いたって普通
Y:結婚⬇
0....できない
1....できる
ではやってみましょう
コード⬇
from sklearn.svm import SVC
model = SVC()
x = [[1, 2], [2, 1], [2, 2], [3, 1], [3, 3]]
y = [0, 1, 1, 1, 0]
model.fit(x, y)
これだけです
fitに入れるXのデータは、二次元配列にまとめて入れます
yは一次元配列にまとめる
predictで予測
学習できたら
今度はX1とX2を指定して、Yを予測してましょう
予測は、predictという関数でできます
今回は、超イケメンでいたって普通という、指定で結婚できるか、学習させたモデルで予測してみましょう
コード⬇
from sklearn.svm import SVC
model = SVC()
x = [[1, 2], [2, 1], [2, 2], [3, 1], [3, 3]]
y = [0, 1, 1, 1, 0]
model.fit(x, y)
predict_x = [[2, 3]]
result = model.predict(predict_x)
print(result)
これだけです
このコードを実行すれば、予測した結果がで出てくると思います
まとめ
scikit-learn、どうだったでしょうか
何度も言いますが、scikit-learnを使えば、機械学習の仕組みを知らなくても、簡単に機械学習できます
今回はすごい簡単なデータで機械学習しましたが、ネットには、地震のデータや、手書きの数字のデータなどいっぱいあるので、もっと機械学習をやりまくってください
機械学習に大事なことは一つ!⬇
深く考えるな!、手を動かせ!!!
今回はここで終わります
END.......