scikit-learnでよく使う便利な機能をまとめました。
train_test_split
データを学習データとテストデータに分離することができます。
1 | from sklearn.datasets import load_breast_cancer |
引数
test_size
テストデータのサイズを指定します。引数としてint
を与えると絶対数、float
を与えると比率と見なされます。同様にtrain_size
を指定することもできます。shuffle
分割の前にデータの順番をランダムにシャッフルします。これはデータの順番に意味がある場合に、不適切な検証がなされることを防ぐための機能です。random_state
前述のshuffle
のseed値です。
LogisticRegression
ロジスティック回帰モデルの学習や推論ができます。
1 | from sklearn.datasets import load_breast_cancer |
メソッド
fit
学習します。predict
推論します。クラスラベルを返却します。predict_proba
推論します。クラスラベルごとに確率を返却します。
cross_val_score
交差検証(クロスバリデーション)を行い、そのスコアを返却します。
1 | from sklearn.model_selection import cross_val_score |
引数
cv
分割数、cross validation generator、イテラブルを引数にとります。scoring
スコアリングの指標を指定します。詳細はこのページに記述があリマス。
plot_roc_curve
ROC曲線をプロットします。matplotlib
のimportが必要です。
1 | from sklearn.metrics import plot_roc_curve |
StandardScaler
標準化を行います。標準化とは、平均を0に、分散を1に変換することです。
1 | from sklearn import preprocessing |
メソッド
fit
平均と標準偏差を計算します。transform
fit
で得られた統計量を用いて、標準化を行います。fit_transform
fit
とtransform
を同時に行います。
PCA
主成分分析を行います。
1 | from sklearn.decomposition import PCA |
メソッド
fit
transformの準備をします。(分散共分散行列の特異値分解)transform
fit
で得られた値を元に、次元削減を行います。fit_transform
fit
とtransform
を同時に行います。
属性
explained_variance_
特異値explained_variance_ratio_
寄与率pca.components_
左特異ベクトル
accuracy
正解率を計算します。
1 | from sklearn.metrics import accuracy_score |
その他の指標
同様のインターフェイスで主要な指標は実装されています。
precision_score
recall_score
f1_score
上記のような複数の指標を確認したい際はclassification_report
が便利です。
1 | from sklearn.metrics import classification_report |
引数
sample_weight
スコアに重み付けをすることができます。
終わりに
これらの機能を実践的に利用した記事がありますので併せてご覧ください。
記事情報
- 投稿日:2020年5月24日
- 最終更新日:2020年5月24日