統計学および機械学習の評価指標
テンプレート:Pathnavテンプレート:機械学習 統計学および機械学習の評価指標(とうけいがくおよびきかいがくしゅうのひょうかしひょう)では統計学および(教師ありの)機械学習の評価指標について述べる。
回帰に対する評価指標
以下のものがある[1][2][3]。観測値を、推定値をと表す。これらの評価指標は代表的なPythonのオープンソース機械学習ライブラリscikit-learnではmetricsモジュールに実装されており、評価指標を計算する関数を併記する。
| 略称 | 名称(英語) | 名称(日本語) | 定義 | scikit-learnのmetricsモジュールでの関数 |
|---|---|---|---|---|
| MSE | Mean Squared Error | 平均二乗誤差 | mean_squared_error(y_true,y_pred) | |
| RMSE | Root Mean Squared Error | 二乗平均平方根誤差 | np.root(mean_squared_error(y_true,y_pred)) | |
| MAE | Mean Absolute Error | 平均絶対誤差 | mean_absolute_error(y_true,y_pred) | |
| MAPE | Mean Absolute Percentage Error | 平均絶対誤差率 | ||
| RMSPE | Root Mean Squared Percentage Error | 平均二乗パーセント誤差の平方根 | ||
| RMSLE | Root Mean Squared Logarithmic Error | mean_squared_log_error(y_true,y_pred) | ||
| coefficient of determination | 決定係数 | 、ここで | r2_score(y_true,y_pred) |
ただし、決定係数は上に挙げたものの他に7種類の定義が知られている。 テンプレート:詳細記事
二値分類
混同行列
| 実際の値 | |||
|---|---|---|---|
| 正 | 負 | ||
| 予
測 値 |
正 | 真陽性
True Positive(TP) |
偽陽性
False Positive(FP) |
| 負 | 偽陰性
False Negative(FN) |
真陰性
True Negative(TN) | |
scikit-learnではmetricsモジュールの「confusion_matrix(y_true, y_pred)」。
各種指標
| 実際の値 | ||||||
|---|---|---|---|---|---|---|
| 総数 | 割合 | |||||
| 正 | 負 | 正 | 負 | |||
| 予
測 値 |
総
数 |
正 | 真陽性
True Positive(TP) |
偽陽性
False Positive(FP) |
陽性適中率(Positive Prediction Value、PPV)
適合率(Precision) |
テンプレート:仮リンク(False Discovery Rate、FDR)
|
| 負 | 偽陰性
False Negative(FN) |
真陰性
True Negative(TN) |
False Omission Rate (FOR)
|
陰性適中率(Negative Predictive Value 、NPV)
| ||
| 割
合 |
正 | 真陽性率(True Positive Rate 、TPR)、再現率(Recall)、感度(Sensitivity)、Hit Rate
|
偽陽性率(False Positive Rate 、FPR)、
Fall-out
|
|||
| 負 | 偽陰性率(False Negative Rate、FNR)、Miss Rate
|
真陰性率(True Negative Rate 、TNR)、
特異性(Specificity)、 Selectivity
| ||||
scikit-learnではmetricsモジュールの下記の関数を呼び出すことで計算可能:
- 適合率:precision_score(y_true, y_pred)
- 再現率:recall_score(y_true, y_pred)
| 名称 | 名称(英語) | 定義 | 直観的意味、備考 | scikit-learnのmetricsモジュールでの関数 |
|---|---|---|---|---|
| 検査前確率 | Pre-test Probability | 全データにおける正例の割合。
医学では「有病割合」(Prevalence)とも呼ばれる |
||
| 精度 | Accuracy | 予測が正解したものの割合。
「正解率」とも呼ばれる。 |
accuracy_score(y_true, y_pred) | |
| 誤分類率 | classification error rate | |||
| balanced accuracy (BA) | ||||
| スレットスコア | Threat score(TS) | 「重要成功指数」(Critical Success Index、CSI)とも呼ばれる。
精度の分母からTNを削ったもの。正例に比べ負例が極端多い場合、TNは大きな値になるため精度よりも有効な指標となる。
|
||
| テンプレート:Math値 | テンプレート:Math-rate | 適合率と再現率の重み付き調和平均。特にテンプレート:Mathのケースであるテンプレート:Math値がよく使われる。
であり、分母にTNがないので、スレットスコアと同様、正例に比べ負例が極端多い場合、有効な指標となる。
|
fbeta_score()
f1_score() | |
| Markedness (MK) | 「deltaP」とも呼ばれる | |||
| Bookmaker Informedness (BM) | 単に「Informedness」とも呼ばれる。「deltaP'」とも呼ばれる。 | |||
| - | マシューズ相関係数(Matthews Correlation Coefficient
、MCC) |
不均衡なデータに対しても性能を適切に評価できる指標。 | matthews_corrcoef() | |
| - | Fowlkes–Mallows index(FM) | |||
| - | Prevalence Threshold (PT) | |||
| 陽性尤度比 | Positive likelihood ratio(LR+) | LR+==検査後オッズ/検査前オッズ
が成立する。 |
||
| 陰性尤度比 | Negative likelihood ratio(LR−) | |||
| テンプレート:仮リンク | Diagnostic odds ratio(DOR) |
|
||
| 交差エントロピー | cross entropy | log損失(log loss)とも。
テンプレート:Mvarはテンプレート:Mvar番目のデータが正例なら1、負例なら0、テンプレート:Mvarは予測器が正例だと予測した確信度∈[0,1]。 |
log_loss() |