tldr
評価指標について勉強しました。
評価指標の種類
回帰における評価指標
RMSE
Root Mean Squared Error
各レコードの目的変数の真の値と予測値の差の2乗の合算値を平方根取ったもの
RMSE = \sqrt{\frac{1}{n}\sum_{i=1}^{n} (y_i-\hat{y_i})^2}
scikitlearn
のmetrics.mean_squared_error
で計算可能
RMSLE
Root Mean Squared Logarithmic Error
真の値と予測値の対数をそれぞれとったあとの差の二乗の平均の平方根
RMSLE = \sqrt{\frac{1}{n}\sum_{i=1}^{n} (\log(1 + y_i) - \log(1 + \hat{y_i}))^2}
目的変数が裾の重い分布を持ち、変換しないままだと大きな値の影響が強い場合や、真の値と予測値の比率に着目したい場合に用いられる。上式の二乗括弧内の式において、となることからも、この指標は比率に着目していることが分かる
scikitlearn
のmetrics.mean_squared_log_error
で計算可能
MAE
Mean Absolute Error
真の値と予測値の差の絶対値の平均によって計算される。
MAE = \frac{1}{n} \sum_{i=1}^{n} |y_i = \hat{y_i}|
MAEは外れ値の影響を低減した形での評価に適した関数
scikitlearn
のmetrics.mean_absolute_error
を用いて計算可能
決定係数
R^2
scikitlearn
のmetrics.r2_score
で計算可能
二値分類における評価指標~正例か負例かを予測値とする場合
二値分類の評価指標は以下の2つに分けられます。
- 各レコードが正例であるか負例であるかを予測値とし、それに対して評価を行う評価指標
- 各レコードが正例である確率を予測値とし、それに対して評価を行う評価指標
前提となる知識
混同行列
Confusion matrix
正答率 (Accuracy) と誤答率 (Error rate)
適合率 (presition) と再現率 (recall)
F1-scoreとFβ-score
F_1 = \frac{2}{\frac{1}{recall} + \frac{1}{precision}} = \frac{2 \cdot recall \cdot precision}{recall + precision} = \frac{2TP}{2TP + FP + FN}
F_{\beta} = \frac{(1+\beta^2)}{\frac{\beta^2}{recall} + \frac{1}{precision}} = \frac{(1+\beta^2) \cdot recall \cdot precision}{recall + \beta^2precision}
MCC
Matthews Correlation Coefficient
不均衡なデータに対してモデルの性能を適切に評価しやすい指標
MCC = \frac{TP \cdot TN = FP \cdot FN}{\sqrt{(TP + FP)(TP+FN)(TN+FP)(TN+FN)}}
各レコードが正例であるか負例であるかを予測値とし、それに対して評価を行う評価指標
logloss
分類タスクでの代表的な評価指標
- 低い方が良い指標
logloss = -\frac{1}{N} \sum_{i=1}^{N} (y_i \log p_i + (1-y_i) \log(1-p_i)) = -\frac{1}{N} \sum_{i=1}^{N} \log \acute{p}_i
AUC
Area Under the ROC Curve