kusappi’s diary

たんなるアニメ好きでゲーム好きでパソコン好きのオタクです

初心者のための機械学習入門

f:id:kusappi:20190209125930p:plain

どうもこんにちわ、クサッピーです

今回は、めっちゃ機械学習にはまっているクサッピーによる、機械学習入門を書きたいと思います

この記事では、X1やX2などいろいろとで出てきますが、深く考えず、とにかく手を動かしてください

・目次

・使うライブラリー

・scikit-learnのインストール

・モデルの作成

・fitで学習

・predictで予測

・まとめ

 

使うライブラリー

Python機械学習ライブラリーはいっぱいあるんですが、今回はscikit-learnという、有名な機械学習ライブラリーを使います

f:id:kusappi:20190218180605p:plain

引用元⬇

scikit-learn.org

 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.......