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ははトレードオフの関係
【出典元】https://en.wikipedia.org/wiki/F1_score
・micro avg:マイクロ平均。レコードとクラスのペアの各々での平均。
・weighted avg:加重平均。各クラスでの加重平均を取った値を示しており、比較的使用頻度は少ない。
この記事が気に入ったらサポートをしてみませんか?