Python XORゲートをSVMで学習させる(「Pythonによるスクレイピング&機械学習」150ページ)
◆目的:
・XORゲートをSVMで学習させる。
◆XORゲート
・排他的論理和の論理ゲート。
◆コード全体
#socym本の写経、p.150 2017-9-1 #サポートベクターマシンsvmのインポート from sklearn import svm #データの用意 xor_data = [ [0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 0], ] data = [] label =[] #インプットと正解とを分ける #1行目から順に要素を抜きリストに追加していく(?) for row in xor_data: x = row[0] y = row[1] z = row[2] data.append([x,y]) label.append(z) #どんな感じになっているか一旦表示 print("data の中身=>", data) print("labelの中身=>",label) #svmアルゴリスム利用 #svmのオブジェクトを得て、fitメソッドでデータを学習 #fitメソッド・・・(データ配列,ラベル配列) clf = svm.SVC() clf.fit(data, label) #データの予測 #predictメソッド・・・予測したいデータ配列を与えると、データの数だけ予測を返す pred = clf.predict(data) print("予測結果=", pred)
結果:
data の中身=> [[0, 0], [0, 1], [1, 0], [1, 1]]
labelの中身=> [0, 1, 1, 0]
予測結果= [0 1 1 0]
◆キーワード:
[scikit-learn、サイキットラーン、svm、fitメソッド、predictメソッド、機械学習、XOR演算]
◆参考:
・「Pythonによるスクレイピング&機械学習」、150頁~、ソシム本
(2017.9.1.)