ClassificationReport

ClassificationReportは分類問題の結果を様々な指標を元に集計したテキストレポートを指します。

sklearn.metrics.classification_report

・第1引数:正解ラベル
・第2引数:予測ラベル
・第3引数:目的変数の各クラスの名前を指定。

<手順①>ライブラリのインポート

# ライブラリのインポート
       from sklearn.metrics import classification_repor    

<手順②>正解ラベル、推定ラベルの設定

 # 正解ラベル
       y_true = [0, 1, 2, 2, 2]

 # 推定ラベル
       y_pred = [0, 0, 2, 2, 1]

<手順③>目的変数の各クラス名の設定

# 目的変数の各クラス名
       target_names = ['class 0', 'class 1', 'class 2']

<手順➃>集計したテキストレポートを表示

print(classification_report(y_true, y_pred, target_names=target_names))
 precision    recall  f1-score   support

        class 0       0.50      1.00      0.67         1
        class 1       0.00      0.00      0.00         1
        class 2       1.00      0.67      0.80         3

       accuracy                           0.60         5
      macro avg       0.50      0.56      0.49         5
   weighted avg       0.70      0.60      0.61         5

評価指標

・precision:適合率。モデルが出した結果において本当に正しかった者の割合
・recall:再現率。結果として出てくるべきもののうち、実際に出てきたものの割合。
・f1-score:再現率と適合率の調和平均。precisionとrecallのどちらも重視したい場合はf1-scoreを確認

※precisionとRecallははトレードオフの関係

画像1

【出典元】https://en.wikipedia.org/wiki/F1_score

・micro avg:マイクロ平均。レコードとクラスのペアの各々での平均。
・weighted avg:加重平均。各クラスでの加重平均を取った値を示しており、比較的使用頻度は少ない。



この記事が気に入ったらサポートをしてみませんか?