1. Pythonで機械学習する場合、「scikit-learn」(サイキット・ラーン)が定番である
scikit-learn: machine learning in Python (ver 0.19)
2. どのアルゴリズムを選択したらよいかわからない場合は、アルゴリズムチートシートを参考にする
https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html
3. 学習や評価のための便利なメソッドが用意されている
4. 評価結果が優れない場合、アルゴリズムやアルゴリズムに指定するパラメーターを変更する。
5.XOR(排他的論理和)を判定するサンプルプログラムを書いてみました。
(KNeighborsClassifierアルゴリズムを使用、n_neighborsというパラメーターを指定しています。 これは教師あり学習のアルゴリズムで予測を行います。)
# XOR には使えないので、アルゴリズムを変更
# ライブラリーのインポート
from sklearn.neighbors import KNeighborsClassifier
from sklearn.metrics import accuracy_score
# 学習用のデータと結果の準備
# X, Y
learn_data = [[0,0],[1,0],[0,1],[1,1]]
# X xor Y
learn_label = [0, 1, 1, 0]
# アルゴリズムの指定(LinearSVC)
clf = KNeighborsClassifier(n_neighbors = 1)
# 学習用データと結果の学習
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, 1, 1, 0], test_label))





