Python/scikit-learn のバックアップ(No.4)
- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- 現在との差分 - Visual を表示
- ソース を表示
- Python/scikit-learn へ行く。
- 1 (2018-10-30 (火) 13:38:53)
- 2 (2018-11-02 (金) 23:54:41)
- 3 (2018-11-03 (土) 00:54:54)
- 4 (2018-11-27 (火) 12:19:46)
- 5 (2018-11-27 (火) 13:34:14)
contents
version
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月現在では開発版である。
インストール
最新の安定板である scikit-learn 0.20.0 は Python 2.7もしくはPython 3.4以上を使う必要がある。また、開発版のscikit-learn 0.21.dev0 ではPython 3.5以上に対応となっている。
(なお、Python 3.7 には対応してない問題は解決された模様か。)
最新の安定板(2018年10月現在)の場合、SciPyの0.13.3以上と、 Numpy の 1.8.2以上がインストールされている必要がある。これらについて、『pip install scipy』『pip install numpy』でインストールできるかは確認中。
scikit-learn 本体のインストール・アップデート
SciPy と Numpy が既にインストール済の場合は、以下のコマンドのどちらかを使ってインストールできる。ただし、pip と conda の混用は危険であるため、気を付けること。
pipを使う場合、コンソールもしくはコマンドプロンプトで
pip install -U scikit-learn
condaを使う場合、コンソールもしくはコマンドプロンプトで
conda install scikit-learn
その他の関連ツール
データをグラフなどで出力したい場合、Matplotlib が必要となる。また、データの解析にはPandasが役に立つ可能性がある。
pip install matplotlib pip install pandas
基本的な書き方
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を認識しない
scikit-learnは
import sklearn
と書いても、認識されないライブラリが多い。
from sklearn.ensemble import RandomForestClassifier
のように、使いたい機能を指定してimportしましょう。
ランダムフォレスト
条件木を多数つくり、多数決をとることで分類する。割合雑に実装しても、そこそこの結果が出ることで有名。
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は混同行列。
pcomment
コメントはありません。 Comments/Python/scikit-learn