Python/scikit-learn のバックアップ差分(No.3)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
scikit-learn のメモ

#contents

**version [#gd166bd0]
|Scikit-learn 0.16|2015 04/15|
|Scikit-learn 0.17|2015 11/05|
|Scikit-learn 0.18.2|2017 06/28|
|Scikit-learn 0.19.2|2018 07/27|
|Scikit-learn 0.20.0|2018 09/27|
Scikit-learn 0.21は、2018年10月現在では開発版である。

**インストール [#n78a06bb]
Scikit-learn 0.19.2 の時点では python3.7 には対応してないため、Python2.7もしくはPython3.4~3.6を使う必要がある。

最新の安定板(2018年10月現在)の場合、SciPyの0.13.3以上と、 Numpy の 1.8.2以上がインストールされている必要がある。

scikit-learn 本体のインストール
 pip install scikit-learn

データをグラフなどで出力したい場合、Matplotlib が必要となる。
 pip install matplotlib
**バージョンアップ [#h47e0146]
既にscikit-learnをインストールしていて、最新の安定板にする。

pipを使う場合、コンソールもしくはコマンドプロンプトで
 pip install -U scikit-learn

condaを使える場合
 conda install scikit-learn

**version [#gd166bd0]
|Scikit-learn 0.16|2015 04/15|
|Scikit-learn 0.17|2015 11/05|
|Scikit-learn 0.18.2|2017 06/28|
|Scikit-learn 0.19.2|2018 07/27|
|Scikit-learn 0.20.0|2018 09/27|



**基本的な書き方 [#i60dcb5a]
 from sklearn.metrics import accuracy_score
 from sklearn.metrics import confusion_matrix
estimator : 分類器を代入
train_data = 訓練のためのデータ
train_label = 訓練データと同じ順番の正解ラベル
test_data = テストのためのデータ
test_label = テストのための正解ラベル
 estimator.fit(train_data, train_label)
 pred_list = estimator.predict(test_data)
 rate = accuracy_score(test_label, pred_list)
 conf_matrix = confusion_matrix(test_label, pred_list)
このとき、pred_listが分類結果、rateが正答率、conf_matが混同行列になる。
**importを認識しない [#x1ccec04]
scikit-learnは
 import sklearn
と書いても認識しない仕様となっております。よって、
 from sklearn.ensemble import RandomForestClassifier
のように、使いたい機能を指定してimportしましょう。
**ランダムフォレスト [#g3f5172c]
条件木を多数つくり、多数決をとることで分類する。割合雑に実装しても、そこそこの結果が出ることで有名。
importの仕方は
 from sklearn.ensemble import RandomForestClassifier

学習させるには、訓練用のデータ(train_data)、訓練用の分類結果(train_label)、テスト用データ(test_data)、テスト用分類結果(test_label)を用意したうえで、
 n_estimators = 10
 estimator = RandomForestClassifier(n_estimators=n_estimators)
 estimator.fit(train_data, train_label)
 pred_list = estimator.predict(test_data)
 rate = accuracy_score(test_label, pred_list)
 conf_matrix = confusion_matrix(test_label, pred_list)
ただし、n_estimators は木の本数。
rate は正答の比、 conf_matrixは混同行列。



**コメント [#s9a93052]
#pcomment