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


scikit-learn のメモ

version

Scikit-learn 0.162015 04/15
Scikit-learn 0.172015 11/05
Scikit-learn 0.18.22017 06/28
Scikit-learn 0.19.22018 07/27
Scikit-learn 0.20.02018 09/27

Scikit-learn 0.21は、2018年10月現在では開発版である。

インストール

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

バージョンアップ

既にscikit-learnをインストールしていて、最新の安定板にする。

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

pip install -U scikit-learn

condaを使える場合

conda install scikit-learn

基本的な書き方

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は混同行列。

コメント

コメントはありません。 Comments/Python/scikit-learn

お名前: URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White