機器學習常見指標計算
Precision 、Recall 和F1 Score
精確率(Precision)和召回率(Recall)是機器學習中最常見的評估兩個分類模型性能的指標。
預測爲正 | 預測爲負 | |
---|---|---|
實際爲正 | TP(真正例) | FN(假反例) |
實際爲負 | FP(假正例) | TN(真反例) |
然而兩個這指標是一對矛盾的指標,一般在不同的應用場景會關係不同的指標。F1 Score是基於Precision和Recall的調和平均:
AUC 和 ROC
ROC曲線的橫軸爲假正例率FPR,表示的含義是:所有真實類別爲0的樣本中,預測類別爲1的比例。
縱軸爲真正例率TPR,表示的含義是:所有真實類別爲1的樣本中,預測類別爲1的比例。
兩者計算方式如下:
可以看到TPR=Recall,ROC曲線圖繪製如下:
首先兩個端點的含義:
AUC是ROC曲線下部分的面積。具體含義是任意給一個正類樣本和一個負類樣本,正類樣本的score有多大的概率大於負類樣本的score。或者,任意給定一個負樣本,所有正樣本的score中有多大比例是大於該負類樣本的score。
AUC<0.5則意味着該模型總是將正例分類成負例,負例分類成正例。
AUC=0.5意味着該模型隨機猜測樣本的類別。
AUC>0.5意味着真實類別爲1的樣本中,預測類別爲1的比例總是大於真實類別爲0的樣本中,預測類別爲1的比例。
理想情況下,AUC=1,也就是說每個正類都被正確分類。
AUC的優點在於:AUC的計算方法同時考慮了分類器對於正例和負例的分類能力,在樣本不平衡的情況下,依然能夠對分類器作出合理的評價。
假設正樣本1個,負樣本99個,如果使用Precision作爲評測指標,那麼即使全部預測爲負樣本的情況下,Precision=0.99;如果選擇F1 score 作爲評測指標那麼,F1 score=0;
推薦系統常見指標計算
HR 和 NDCG
這兩個指標常見於Top-n推薦。一般都是計算在前n個推薦物品中的指標值,比如HR@n表示推薦的n個物品中命中的物品除以測試集中對應user的物品數量。
Hit Ratio和Recall是一樣計算的,對推薦物品的位置不敏感。
歸一化折損累積增益(Normalized Discounted Cumulative Gain)對推薦物品位置敏感,計算方式如下:
其中表示是第i個物品的相關性,一般相關的記爲1,不相關的記爲0。IDCG是所有推薦物品和測試集中物品都相關的條件下的DCG的值,顯然是用來做歸一化處理的。下面舉個例子計算:
假設推薦物品top-5爲[3,4,6,9,1],而測試集中的物品爲[8,6,4],那麼:
DCG@5 =
IDCG=
因此NDCG@5=0.383。
可以看出排序位置越靠前NDCG值越大。
MRR
平均倒數排序(Mean Reciprocal Rank)計算的是對用用戶i,推薦列表中第一個用戶感興趣的物品的位置的倒數:
其中N代表用戶的個數。比如系統只有一個用戶,現在給用戶推薦了3個物品[movie1,movie2,movie3],用戶感興趣的是movie3,那麼。
MSE、 RMSE和MAE
這些指標常見於迴歸預測模型,同時也是推薦系統中評分預測的指標。均方誤差(Mean Square Error)是預測值和真實值之差的平方的期望值:
均方根誤差(Root Mean Square Error)其實就是MSE的平方根:
平均絕對誤差(Mean Absolute Error )是預測值和真實值之差的絕對值的期望值: