AIの流行に乗ってAI開発の参考書を買った その2
こんにちは、こんばんわ
まず初めにこの記事は「横浜医療情報専門学校Advent Calendar 2018」の10日目の記事になっています。
そして、この記事は私が買った「すぐに使える! 業務で実践できる! Pythonによる AI・機械学習・深層学習アプリのつくり方」の2つ目の記事です!
1つ目の記事:AIの流行に乗ってAI開発の参考書を買った - プログラミング初心者の日記
今回は2章の内容を少し進めてみたいと思います!
2章は実際に機械学習をやってみる章になっています
ここからは「scikit-learn」というPython向けの機械学習フレームワークを利用します
※ scikit-learnやpythonの開発環境の構築はこの記事では、紹介しません。しかし、調べるとたくさん出てくるので、そちらを参考にしてください
scikit-learnのWebサイト:https://scikit-learn.org/stable/
まず初めにAND演算に機械学習を組み込みます!
ゴールを決定しよう
今回は、以下のような教師あり学習をつくる
入力(X,Y)と結果(X AND Y)の全パターンを学習させる。
改めて、入力(X,Y)の全パターンを与えた場合に、正しい結果(X AND Y)に分類してくれるかを評価する。
アルゴリズムの選択をしよう!
・どのような機械学習をしたいのか
・どのようなデータを準備しているのか
などの条件を辿っていくとアルゴリズムを選択できる「アルゴリズムチートシート」というのがあります。(下記の画像)
これを辿ってアルゴリズムを選びます
AND演算はサンプルデータを4件しか用意できません。
つまり
[Start]→[>50 Sample]→No→[get more data(もっとデータを用意しましょう)]
となってしまいます
しかし、基本的な流れを掴むためなので、今回は無視します
改めて先に進むと
[Start]→[>50 Sample]→Yes→[predicting category(カテゴリを予測する)]→Yes
→[do you have labeled data(ラベル、つまり結果付きのデータを持っているか?)]
→Yes→[<100K samples]→Yes→[LinearSVC]
となります
ということで今回、使用するのは「LinearSVC」というアルゴリズムです!
実装しよう!
では、実際にプログラムを記述しましょう
#ライブラリのインポート from sklearn.svm import LinearSVC from sklearn.metrics import accuracy_score #学習用のデータと結果の準備 #X,Y learn_data =[ [0,0],[1,0],[0,1],[1,1]] #X AND Y learn_label = [0,0,0,1] #アルゴリズムの指定(LinearSVC) clf = LinearSVC() #学習用データと結果の学習 clf.fit(learn_data,learn_label) #テストデータによる予測 test_data = [[0,0],[1,0],[0,1],[1,1]] test_label = clf.predict(test_data) #予測結果の評価 print(test_data , "の予測結果:" , test_label) print("正解率=" , accuracy_score([0,0,0,1],test_label))
これを実行すると以下のようになります
[[0, 0], [1, 0], [0, 1], [1, 1]] の予測結果: [0 0 0 1]
正解率= 1.0
正解率1.0=100%です!
簡単な機械学習を体感できたでしょうか?
ANDができれば、他の演算にも応用できるので、試してみてください!!
ではではー