Python機器學習-分類模型的5個評估指標
機器學習專案從一開始的定義問題、資料清理到模型建置,該如何評估模型的好壞與預測結果,就需要有評估指標,所以這篇文章會整理常見的分類模型評估指標,並瞭解各個指標的評估重點!
評估指標的目的,就是來確認預測值(Prediction)與實際值(Ground truth)的正確程度,並透過評估指標的高低,來優化資料清理流程或調整模型參數,以提高預測準確度。
一、準確率(Accuracy)
準確率就是正確分類的樣本數占所有樣本數的比例,其公式為
Accuracy = 正確預測的樣本數 / 總樣本數
如果是多元分類的問題,可以使用Top-K Accuracy,K代表模型預測前K個可能的類別(機率排名前K名的類別),而這K個類別有包含到正確類別的比例就是Top-K Accuracy。
二、混淆矩陣(Confusion Matrix)
這裡先用二元分類來說明混淆矩陣,混淆矩陣就是由實際是正樣本(Positive)和負樣本(Negative),與預測正確(True)和錯誤(False)四種情況所形成的矩陣,四種情況分別為:
1. True Positive(TP):實際是正樣本且預測為正樣本
2. False Positive(FP):實際是負樣本但誤判為正樣本
3. False Negative(FN):實際是正樣本但誤判為負樣本
4. True Negative(TN):實際是負樣本且預測為負樣本
其中TP和TN代表預測正確,所以前面提到的準確率(Accuracy)又可表示為
Accuracy = (TP+TN) / (TP+FP+FN+TN)
若是用在多元分類模型,Confusion Matrix的橫軸一樣可以是實際值,縱軸是預測值,可以瞭解每個類別的預測準確率,下圖為多元分類的混淆矩陣。
三、F1 Score
計算F1 Score之前,需要先知道兩個指標:
1. Precision:Positive Predictive Value,所有被預測為正樣本中,實際預測正確的比例,用來判斷預測為正樣本的可信度。
Precision = TP /( TP+FP)
2. Recall:Sensitivity,True Positive Rate,所有正樣本中,被預測正確的比率,用來判斷有多少正樣本被偵測出來。
Recall = TP / (TP+FN)
3. F1 Score:The harmonic mean of Precision and Recall,同時考量Precision和Recall的一個綜合指標。
F1-score = 2 * Precision * Recall / (Precision + Recall)
四、ROC curve and AUC
ROC curve (Receiver Operating Characteristic Curve)是由FPR與TPR在不同閥值(Threshold)下所畫出的曲線。
1. FPR(False Positive Rate):1 - Specificity,其中Specificity為正確判斷出負樣本的比率,FPR越低,代表越能夠正確判斷負樣本,表現越好。
FPR = 1 - Specificity = 1 - TN / (TN+FP) = FP / (TN+FP)
2. TPR(True Positive Rate):Sensitivity = Recall,也就是正確判斷出正樣本的比率,TPR越高,代表越能夠判斷出正樣本,表現越好。
3. 閥值(Threshold):當預測出某類別的概率時,若此概率大於Threshold值就會判斷為正樣本,反之則為負樣本。ROC curve就是在不同Threshold下所畫出來的曲線,Threshold越接近於0,TPR和FPR越接近於1,而Threshold越接近於1,TPR和FPR越接近於0。
4. AUC(Area Under Curve):ROC curve下的面積,AUC越大,正確率越高。AUC的值會落在0~1之間:
0.5 < AUC < 1:優於隨機預測,有預測能力
AUC = 0.5:跟隨機猜測差不多,代表模型沒有預測能力
AUC < 0.5:比隨機猜測還差,若使用反預測,就會優於隨機猜測
五、NDCG(Normalized Discounted Cumulative Gain)
前面有提到Top-K Accuracy,只要前K個排名有預測正確就計算準確率,但這項並沒有考慮到排序問題,NDCG就是個可以用來衡量排序準確性的指標,NDCG考慮的部分有兩項:
1. 較高相關的物件(類別)被排名在越前面,NDCG的分數越高
2. 加入正規化(Normalized),因為不同模型產生的排序清單長度可能不一致,所以需要有個統一的標準,也就是在最理想情況下的物品排序,來做正規化,就可以計算出NDCG。詳細說明可參考這篇文章。
以上是5個分類模型的評估指標,在不同的專案,可以根據不同情況來尋找適合的指標,以作為模型調整的方向。