分類モデル
混同行列と関連指標
精度を考えた時に、予測と結果で4つのパターンが存在する。
(正解と予測して答えが正解の時、正解と予測して答えが不正解の時、不正解と予想して答えが正解の時、 不正解と予想して答えが不正解の時)
混同行列は、これを表にしたものです。
正解の予測 | 不正解の予測 | |
---|---|---|
答えが正解 | TP (True Positive) | FN (False Negative) |
答えが不正解 | FP(False Positive) | TN (True Negative) |
正解率
全体に対して予測があたった割合。
(TP + TN) / (TP +TN + FP + TN)
適合率
不正解と予想して不正解であった割合。
TN / (FN + TN)
再現率
実際に不正解を正しく不正解と予測できた割合。
TN / (FP + TN)
F1スコア
適合率と再現率の調和平均。
(2 * 適合率 * 再現率) / (適合率 + 再現率)
ROC曲線とAUC
予測確率の値そのものと観測値の関係から、性能を評価したい場合に役立つ。
ROC曲線
縦横に真陽性率(再現率)、偽陽性率(実際は不正解のものを正解と予測した割合)の値をプロットした曲線。scikit-learnではroc_curve関数が用意されている。
AUC
ROC曲線の形状に基づく評価指標。ROC曲線と横軸の範囲の面積。不均衡なデータ(正解率と適合率が大きく異なる場合)でも、評価時に耐えられる。scikit-learnには、auc関数が用意されている。
multi-class accuracy
二値分類のaccuracyを拡張したもの、予測が正しい割合を表す。scikit-learnには、accuracy_score関数が用意されている。
multi-class logloss
loglossを拡張したもの。log_loss関数が用意されている。
回帰モデル
目的変数が数値であるため評価方法は分類モデルと比べてシンプルなものなる。
タイトル | 概要 | 関数 |
---|---|---|
平均平方二乗誤差(RMSE) | 目的変数のTrueと予測値の差の二乗を平均し平方根を取る | sqrt(mean_squared_error()) |
RMSLE | 目的変数のTrueと予測値のそれぞれの対数の差の二乗を平均し平方根を取る | mean_squared_log_error() |
平均二乗誤差(MSE) | 残差平方和(SSE。予測値と正解の差の二乗をサンプルごとに足し上げた値)をサンプル数で割る | mean_squared_error() |
平均絶対誤差(MAE) | 予測値と正解の差の絶対値をサンプルごとに足し上げ、最後にサンプル数で割る(予測した外れ値の影響を受けにくい) | mean_absolute_error() |
MedAE | 予測値と正解の差の絶対値の中央値。MAEよりも外れ値にロバスト(堅牢) | median_absolute_error() |
決定係数(R2) | 処理平方和(SST)と、残差平方和(SSE)の比率。良いと1に近づき、悪いと-1に近づく。 | r2_score() |