scikit-learn 覚書

 

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))
PAGE TOP