scikit-learn (サイキット・ラーン)は Python用のオープンソース (BSD ライセンス) の機械学習ライブラリで、NumPy, SciPy や Matplotlib と互換性を持つように開発されています。データの前処理、分類、回帰、クラスタリングなど、機械学習のアルゴリズムを幅広く実装しています。
分類(クラス分類)向きのものと、回帰(予測)向きのもの、計7つの定番データサンプルも同梱されています。
図版:https://scikit-learn.org/stable/tutorial/machine_learning_map/
Python 言語のライブラリとしてのインストールになるので、一般の Python3 の環境であれば、Terminalから以下のコマンドでインストールできます。
$ pip3 install scikit_learn $ pip3 list ← 念のため一覧表示
データ読み込み > 訓練データとテストデータに分割 > 学習(fit)> 予測(predict)> 評価(score)という流れで、評価結果に応じて学習方法をチューニング・・というのが開発の定番スタイルです。
from sklearn import datasets from sklearn.model_selection import train_test_split from sklearn import svm from sklearn import metrics digits = datasets.load_digits()
X = digits.data y = digits.target X_train, X_test, y_train, y_test = train_test_split( X, y, test_size = 0.2 )一般に、train は訓練データ、test は評価用のテストデータの意味です。
clf = svm.SVC( gamma=0.001 ) clf.fit( X_train, y_train )clf は一般に classifier(分類器)の略です。
accuracy = clf.score( X_test, y_test ) print( "正解率 {accuracy} ") predicted = clf.predict( X_test ) print( metrics.classification_report( y_test, predicted ) )predict は「予測」の意味です