統計学および機械学習の評価指標
機械学習および データマイニング |
---|
Category:データマイニング |
統計学および機械学習の評価指標(とうけいがくおよびきかいがくしゅうのひょうかしひょう)では統計学および(教師ありの)機械学習の評価指標について述べる。
回帰に対する評価指標
[編集]以下のものがある[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は大きな値になるため精度よりも有効な指標となる。
|
||
Fβ値 | Fβ-rate | 適合率と再現率の重み付き調和平均。特にβ=1のケースであるF1値がよく使われる。
であり、分母に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)とも。
yiはi番目のデータが正例なら1、負例なら0、piは予測器が正例だと予測した確信度∈[0,1]。 |
log_loss() |
脚注
[編集]- ^ “いまさら聞けない機械学習の評価関数”. Gunosy (2016年8月5日). 2020年4月1日閲覧。
- ^ “モデル最適化指標・評価指標の選び方”. DataRobot (2018年5月29日). 2020年4月1日閲覧。
- ^ 門脇大輔, 阪田隆司, 保坂桂佑, 平松雄司『Kaggleで勝つデータ分析の技術』技術評論社、2019年10月9日、62-67頁。ISBN 978-4297108434。
- ^ Fawcett, Tom (2006). “An Introduction to ROC Analysis”. Pattern Recognition Letters 27 (8): 861–874. doi:10.1016/j.patrec.2005.10.010 .
- ^ Powers, David M W (2011). “Evaluation: From Precision, Recall and F-Measure to ROC, Informedness, Markedness & Correlation”. Journal of Machine Learning Technologies 2 (1): 37–63 .
- ^ Ting, Kai Ming (2011). Encyclopedia of machine learning. Springer. ISBN 978-0-387-30164-8
- ^ “WWRP/WGNE Joint Working Group on Forecast Verification Research”. Collaboration for Australian Weather and Climate Research. World Meteorological Organisation (2015年1月26日). 2019年7月17日閲覧。
- ^ “The advantages of the Matthews correlation coefficient (MCC) over F1 score and accuracy in binary classification evaluation”. BMC Genomics 21 (6). (January 2020). doi:10.1186/s12864-019-6413-7. PMC 6941312. PMID 31898477 .