Python/scikit-learn のバックアップの現在との差分(No.5)


  • 追加された行はこの色です。
  • 削除された行はこの色です。
#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.''20''.0 は Python 2.7もしくはPython 3.4以上を使う必要がありあmす。また、開発版のscikit-learn 0.''21''.dev0 ではPython 3.5以上に対応となっています。
(なお、Python 3.7 には対応してない問題は解決された模様か。)

***事前にインストールすべきツール [#f9b6ab11]

~ 最新の安定板(2018年10月現在)の場合、SciPyの0.13.3以上と、 Numpy の 1.8.2以上がインストールされている必要がある。&size(14){&color(Gray){これらについて、『pip install scipy』『pip install numpy』でインストールできるかは確認中。};⇒確認しました};
~ 最新の安定板(2018年10月現在)の場合、SciPyの0.13.3以上と、 NumPy の 1.8.2以上がインストールされている必要がある。&size(14){&color(Gray){これらについて、『pip install scipy』『pip install numpy』でインストールできるかは確認中。};⇒確認しました};

Numpy のインストール
NumPy のインストール
 pip install numpy

SciPy
 pip install scipy
***scikit-learn 本体のインストール・アップデート [#j8178f78]
~ SciPy と Numpy が既にインストール済の場合は、以下のコマンドのどちらかを使ってインストールできる。ただし、''&color(Red){pip と conda の混用は危険};''であるため、気を付けること。

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

condaを使う場合、コンソールもしくはコマンドプロンプトで
 conda install scikit-learn
***その他の関連ツール [#vdd0d918]
データをグラフなどで出力したい場合、Matplotlib が必要となる。また、データの解析にはPandasが役に立つ可能性がある。
 pip install matplotlib
 pip install pandas
**基本的な書き方 [#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