机器学习中算法的性能评估
機器學習和推薦系統中的評測指標—(1)準確率(Accuracy);(2)錯誤率(Error rate)(3)精確率、精度(Precision);(4)召回率(Recall);(5)靈敏度/敏感性(sensitive);(6)特效度/特異性(specificity);(7)F值(F-Measure)簡介/綜合評價指標(F-Measure);(8)計算速度;(9)魯棒性;(10)可擴展性;(11)可解釋性;(12)ROC曲線(Receiver Operating Characteristic);(13)PR曲線(Precision-Recall曲線);(14)AUC(Area UnderCharacteristic)。
在介紹以上指標時先引入幾個概念:(必須先了解“混淆矩陣”)(正確和錯誤是True和False表示預測結果是否正確,T表示不管是在預測為P還是N的結果中預測正確的情況)(正負是positive和Negative表示預測的結果,就是樣本被預測為P還是N)
True Positive(TP:真正):在判定為positive(正)的樣本中,判斷正確的數目(真實情況為正例,預測情況為正例)---即將真類預測為正類數。(就是在將測試樣本判定為Positive的預測結果樣本中,有多少個True就是預測正確的數目)(統計在Positive預測結果中,預測正確True的數目)
False Positive(FP:假正):在判定為positive(正)的樣本中,判斷錯誤的數目(真實情況為反例,預測情況為正例)---即將假類預測為正類數(誤報)。(就是在將測試樣本判定為Positive的結果樣本中,有多少個False就是預測錯誤的數目))(統計在Positive預測結果中,預測錯誤False的數目)
True Negative(TN:真負):在判定為Negative的樣本中,判斷正確的數目((真實情況為反例,預測情況為反例))---即將真類預測為負類數。(就是在將測試樣本判斷為Negative的結果樣本中,有多少個True就是預測正確的數目)(統計在Negative預測結果中,預測正確True的數目)
False Negative(FN:假負):在判定為Negative的樣本中,判斷錯誤的數目(真實情況為正例,預測情況為反例)---即將假類預測為負類數。(就是在將測試樣本判斷為Negative的結果樣本中,有多少個False就是預測錯誤的數目,即將真的也預測為Negative了,就是預測錯誤了,要統計將真的預測為Negative的數目)(統計在Negative預測結果中,預測錯False的數目)
| ? | Positive | Negative |
| True | TP | TN |
| False | FP | FN |
實際類別和預測類別:
| ??????? | ???????? 預測類別 | |||
|---|---|---|---|---|
| ? | Yes/P/正例 | No/N/負例 | 總計 | |
| 實 際 類 別 | Yes/T/預測正確 | TP | FN | P(本來實際為Yes) |
| No/F/預測錯誤 | FP | TN | N(本來實際為No) | |
| 總計 | (被分為Yes)(所有的實際是Y/N被預測為P的數目) | (所有的實際為Y/N的被預測為N的數目) | P+N | |
(1)準確率(Accuracy)計算公式A:(被分對的樣本除以所有的樣本數)
??????????????????????????????????????????????????????????????
(準確率就是預測正確的(TP、TN)除以所有的結果)(T表示在P和N的預測結果中預測正確)
正確率越高,分類器越好。
(2)錯誤率(Error rate)計算公式:(錯誤率與準確率相反,描述被分類器錯分的比例)
??????????????????????????????????????????????????????????????
分對與分錯是互斥事件,所以accuracy=1-error rate
(3)精確率、精度(Precision)計算公式:
?????????????????????????????????????????????????????????????
表示被分為正例(positive)的示例中實際為正例的比例。
(精確率和召回率是相互影響的,理想情況下兩者都高,但是一般情況下準確率高,召回率就低;召回率高,精確率就低;如果兩者都低應該是哪里算的有問題)
(4)召回率(Recall)計算公式R:
???????????????????????????????????????????????????????????????
召回率是覆蓋面的度量,度量有多少個正例被分為正例。(有多少個正例中的正例值的是正確分為正例的個數,被分為正例中的正例包含正確分的和錯誤分的(錯誤分的就是正例被分到N中就是N中分錯的即FN))
可以看到召回率和靈敏度是一樣的。
(5)靈敏度(sensitive)計算公式:(表示所有正例中P被分對的TP比例,衡量了分類器對負例的識別能力)
??????????????????????????????????????????????????????????????
(6)特效度(specificity)計算公式:(表示所有負例中N被分對的TN比例,衡量了分類器對負例的識別能力)
?????????????????????????????????????????????????????????????
(7)F值(F-Measure)簡介/綜合評價指標(F-Measure)(又稱為F-Fcore):
P和R有時間會出現矛盾的情況下,在P精確率和R召回率都要求高的情況下,綜合衡量P和R就用F值:
F-Measure是Precision和Recall的加權調和平均:
????????????????????????????????????????????????????????????
當參數時,就是最常見的F1(F1 score),也即
???????????????????????????????????????????????????????????????
可知F1綜合了P和R的結果,當F1較高時則能說明實驗方法比較有效;一般多個模型假設進行比較時,F1 score越高,說明它越好。
(8)計算速度:分類器訓練和預測需要的時間。
(9)魯棒性:處理缺失值和異常值的能力。
(10)可擴展性:處理大數據集的能力。
(11)可解釋性:分類器的預測標準的可理解性,像決策樹產生的規則就是很容易理解,而神經網絡的一堆參數就不好理解,我們只好把它看成一個黑盒子。
(12)ROC曲線(Receiver Operating Characteristic):
ROC曲線是以假正例率(FP_rate(真實值為負例,而預測為正例的比例)和真正例率(TP_rate(真實值是正例,且預測為正例的比例))為軸的曲線,ROC曲線下面的面積我們叫做AUC,一般AUC值越大,說明模型越好。如圖所示:(ROC曲線一般橫軸是FP_rate,縱軸是TP_rate)
?
(13)PR曲線(Precision-Recall曲線)
假設N_c>>P_c(即Negative的數量遠遠大于Positive的數量),若FP很大,即有很多N的sample被預測為P,因為,因此FP_rate的值仍然很小(如果利用ROC曲線則會判斷其性能很好,但是實際上其性能并不好),但是如果利用PR,因為Precision綜合考慮了TP和FP的值,因此在極度不平衡的數據下(Positive的樣本較少),PR曲線可能比ROC曲線更實用。
(14)AUC(Area UnderCharacteristic)
ROC曲線下面積是分類器區分類的能力的度量,用作ROC曲線的總結。AUC越高,模型在區分正類和負類方面的性能越好。
1)當AUC=1時,分類器能夠正確區分所有的正類點和負類點。然而,如果AUC為0,那么分類器將預測所有的否定為肯定,所有的肯定為否定。
2)當0.5<AUC<1時,分類器很有可能區分正類值和負類值。這是因為與假反例和假正例相比,分類器能夠檢測更多的真正例和真反例。
3)當AUC=0.5時,分類器無法區分正類點和負類點。這意味著分類器要么預測所有數據點的隨機類,要么預測常量類。
因此,分類器的AUC值越高,其區分正類和負類的能力就越好。
參考連接:http://www.jisuapp.cn/news/8752.html
?
總結
以上是生活随笔為你收集整理的机器学习中算法的性能评估的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 3D相机调研
- 下一篇: PCLPCL/OpenNI tutori