統計学および機械学習の評価指標

提供: testwiki
ナビゲーションに移動 検索に移動

テンプレート:Pathnavテンプレート:機械学習 統計学および機械学習の評価指標(とうけいがくおよびきかいがくしゅうのひょうかしひょう)では統計学および(教師ありの)機械学習の評価指標について述べる。

回帰に対する評価指標

以下のものがある[1][2][3]。観測値をy={y1, y2, ⋯, yN}、推定値をyî={y1̂, y2̂, ⋯, yN̂}と表す。これらの評価指標は代表的なPythonのオープンソース機械学習ライブラリscikit-learnではmetricsモジュールに実装されており、評価指標を計算する関数を併記する。

略称 名称(英語) 名称(日本語) 定義 scikit-learnのmetricsモジュールでの関数
MSE Mean Squared Error 平均二乗誤差 1N∑i=1N(yi−yî)2 mean_squared_error(y_true,y_pred)
RMSE Root Mean Squared Error 二乗平均平方根誤差 1N∑i=1N(yi−yî)2 np.root(mean_squared_error(y_true,y_pred))
MAE Mean Absolute Error 平均絶対誤差 1N∑i=1N|yi−yî| mean_absolute_error(y_true,y_pred)
MAPE Mean Absolute Percentage Error 平均絶対誤差率 1N∑i=1N|yi−yî|yi
RMSPE Root Mean Squared Percentage Error 平均二乗パーセント誤差の平方根 1N∑i=1N(yi−yîyi)2
RMSLE Root Mean Squared Logarithmic Error 1N∑i=1N(log⁡(yi+1)−log⁡(yî+1))2 mean_squared_log_error(y_true,y_pred)
R2 coefficient of determination 決定係数 1−∑i=1N(yi−yî)2∑i=1N(yi−y¯)2、ここでy¯=1N∑i=1Nyi r2_score(y_true,y_pred)

ただし、決定係数は上に挙げたものの他に7種類の定義が知られている。 テンプレート:詳細記事

二値分類

混同行列

テンプレート:Main

実際の値
正 負
予

測

値

正 真陽性

True Positive(TP)

偽陽性

False Positive(FP)

負 偽陰性

False Negative(FN)

真陰性

True Negative(TN)

scikit-learnではmetricsモジュールの「confusion_matrix(y_true, y_pred)」。

各種指標

以下のものがある[4][5][6][7][8]:

実際の値
総数 割合
正 負 正 負
予

測

値

総

数

正 真陽性

True Positive(TP)

偽陽性

False Positive(FP)

第一種の過誤

陽性適中率(Positive Prediction Value、PPV)

適合率(Precision) TPTP+FP

テンプレート:仮リンク(False Discovery Rate、FDR)

FPTP+FP

負 偽陰性

False Negative(FN)

第二種の過誤

真陰性

True Negative(TN)

False Omission Rate (FOR)

FNFN+TN

陰性適中率(Negative Predictive Value 、NPV)

TNFN+TN

割

合

正 真陽性率(True Positive Rate 、TPR)、再現率(Recall)、感度(Sensitivity)、Hit Rate

TPTP+FN

偽陽性率(False Positive Rate 、FPR)、

Fall-out

FPFP+TN


負 偽陰性率(False Negative Rate、FNR)、Miss Rate

FNTP+FN

真陰性率(True Negative Rate 、TNR)、

特異性(Specificity)、

Selectivity

TNFP+TN

scikit-learnではmetricsモジュールの下記の関数を呼び出すことで計算可能:

  • 適合率:precision_score(y_true, y_pred)
  • 再現率:recall_score(y_true, y_pred)
名称 名称(英語) 定義 直観的意味、備考 scikit-learnのmetricsモジュールでの関数
検査前確率 Pre-test Probability TP+FNTP+FN+FP+FN 全データにおける正例の割合。

医学では「有病割合」(Prevalence)とも呼ばれる

精度 Accuracy TP+TNTP+TN+FP+FN 予測が正解したものの割合。

「正解率」とも呼ばれる。

accuracy_score(y_true, y_pred)
誤分類率 classification error rate 1−Accuracy
balanced accuracy (BA) TPR+TNR2
スレットスコア Threat score(TS) TPTP+FN+FP 「重要成功指数」(Critical Success Index、CSI)とも呼ばれる。

精度の分母からTNを削ったもの。正例に比べ負例が極端多い場合、TNは大きな値になるため精度よりも有効な指標となる。

テンプレート:Math値 テンプレート:Math-rate 1+β2β2recall+1precision=(1+β2)recall⋅presicionrecall+β2presicion 適合率と再現率の重み付き調和平均。特にテンプレート:Mathのケースであるテンプレート:Math値がよく使われる。

F1=TPTP+FP+FN2であり、分母にTNがないので、スレットスコアと同様、正例に比べ負例が極端多い場合、有効な指標となる。

fbeta_score()

f1_score()

Markedness (MK) PPV+NPV−1 「deltaP」とも呼ばれる
Bookmaker Informedness (BM) TPR+TNR−1 単に「Informedness」とも呼ばれる。「deltaP'」とも呼ばれる。
- マシューズ相関係数(Matthews Correlation Coefficient

、MCC)

TP⋅TN−FP⋅FN(TP+FP)(TP+FN)(TN+FP)(TN+FN) 不均衡なデータに対しても性能を適切に評価できる指標。 matthews_corrcoef()
- Fowlkes–Mallows index(FM) TPTP+FP⋅TPTP+FN=PPV⋅TPR
- Prevalence Threshold (PT) TPR(−TNR+1)+TNR−1(TPR+TNR−1)
陽性尤度比 Positive likelihood ratio(LR+) FPRTPR LR+=TP/FP(TP+FN)/(FP+TN)=検査後オッズ/検査前オッズ

が成立する。

陰性尤度比 Negative likelihood ratio(LR−) FNRTNR
テンプレート:仮リンク Diagnostic odds ratio(DOR) LR+LR−


交差エントロピー cross entropy −1N∑iNyilog⁡pi+(1−yi)log⁡(1−pi) log損失(log loss)とも。

テンプレート:Mvarはテンプレート:Mvar番目のデータが正例なら1、負例なら0、テンプレート:Mvarは予測器が正例だと予測した確信度∈[0,1]。

log_loss()

脚注

テンプレート:脚注ヘルプ テンプレート:Reflist