注:以下內容為本人學習心得,可能會存在不準確,有誤導大家的可能,請酌情參考,感謝!
對于一個回歸問題,可以使用MSE、RMSE、MAE、R方
對于一個分類問題,可以使用分類精準度(實際上,分類精準度是存在陷阱的)
分類準確度夠用么?不夠
若某事件產生概率為 0.1%,若某演算法判斷某事情是否產生的準確度為99.9% 時,與人工判定所有情況下都沒有發生時,成功概率相同,所以這個99.9% 的準確度是沒有什么意義的,
這種情況叫做“極度偏斜”(“Skewed Data”)
![]()

精準率:precision = TP/(TP+FP)
分母為所有預測為1的個數,分子是其中預測對了的個數,且預測對了的比例
召回率:recall = TP/(TP+FN)
所有真實值為1的資料中,預測對了的個數,即事件真實發生的情況下,我們成功預測的比例是多少,
混淆矩陣:
|
|
預測值0
|
預測值1
|
|
真實值0
|
TN
|
FP
|
|
真實值1
|
FN
|
TP
|
-
TN:真實值是0,預測值也是0,即我們預測是negative,預測正確了,
-
FP:真實值是0,預測值是1,即我們預測是positive,但是預測錯誤了,
-
FN:真實值是1,預測值是0,即我們預測是negative,但預測錯誤了,
-
TP:真實值是1,預測值是1,即我們預測是positive,預測正確了,
精準率(查準率):預測值為1,且預測對了的比例,即:我們關注的那個事件,預測的有多準,
召回率(查全率):所有真實值為1的資料中,預測對了的個數,即:我們關注的那個事件真實的發生情況下,我們成功預測的比例是多少,
那么精準率和召回率這兩個指標如何解讀?如果對于一個模型來說,兩個指標一個低一個高該如何取舍呢?
(官方答案)以下
精準率(查準率):預測值為1,且預測對了的比例,即:我們關注的那個事件,預測的有多準,
召回率(查全率):所有真實值為1的資料中,預測對了的個數,即:我們關注的那個事件真實的發生情況下,我們成功預測的比例是多少,
有的時候,對于一個演算法而言,精準率高一些,召回率低一些;或者召回率高一些,精準率低一些,那么如何取舍呢?視場景而定
F1 Score:
F1 Score 是精準率和召回率的調和平均值
什么是調和平均值?為什么要取調和平均值?調和平均值的特點是如果二者極度不平衡,如某一個值特別高、另一個值特別低時,得到的F1 Score值也特別低;只有二者都非常高,F1才會高,這樣才符合我們對精準率和召回率的衡量標準,
![]()

或
![]()

分類閥值,即設定判斷樣本為正例的閥值 THR
sklearn 有一個方法( decision_function )回傳“分類閥值”
decision_scores = log_reg.decision_function(X_test)
y_predict = np.array(decision_scores >= 5, dtype='int')
![]()

分類閥值存在的意義,即“精準率”與“召回率”是具有一定聯系的,看具體業務場景可以設定好閥值,
TPR,即召回率
FPR,
預測為1,但預測錯了的數量,占真實值不為1的資料百分比,與TPR相對應,FPR除以真實值為0的這一行所有的數字和,
TPR和FPR之間是成正比的,TPR高,FPR也高,ROC曲線就是刻畫這兩個指標之間的關系,
![]()

ROC曲線
Receiver Operation Characteristic Cureve,描述TPR與FPR 之間的關系,X軸是FPR,Y軸為TPR,
我們已經知道,TPR就是所有正例中,有多少被正確地判定為正;FPR是所有負例中,有多少被錯誤地判定為正, 分類閾值取不同值,TPR和FPR的計算結果也不同,最理想情況下,我們希望所有正例 & 負例 都被成功預測 TPR=1,FPR=0,即 所有的正例預測值 > 所有的負例預測值,此時閾值取最小正例預測值與最大負例預測值之間的值即可,
TPR越大越好,FPR越小越好,但這兩個指標通常是矛盾的,為了增大TPR,可以預測更多的樣本為正例,與此同時也增加了更多負例被誤判為正例的情況,
AUC
一般在ROC曲線中,我們關注是曲線下面的面積, 稱為AUC(Area Under Curve),這個AUC是橫軸范圍(0,1 ),縱軸是(0,1)所以總面積是小于1的,
ROC和AUC的主要應用:比較兩個模型哪個好?主要通過AUC能夠直觀看出來,
官方小節
F1 Score是精準率和召回率的調和平均值,可以平衡這兩個指標,
又學習了分類閾值、TPR、FPR這三個概念,進而引出ROC來反映分類器的性能,AUC是曲線下面積,用來直觀比較模型的好壞,
線性模型的評價有以下幾個指標,由于本人野路子出生,看起來特別費勁,就簡單羅列下指標及其概念,以后再補上個人理解~
R Square,最好的評價線性回歸法的指標,
均方差(MSE):Mean Squared Error
測驗集中的資料量m不同,因為有累加操作,所以隨著資料的增加 ,誤差會逐漸積累;因此衡量標準和 m 相關,為了抵消掉資料量的形象,可以除去資料量,抵消誤差,通過這種處理方式得到的結果叫做 均方誤差MSE(Mean Squared Error):
![]()

均方根誤差(RMSE):Root Mean Squarde Error
但是使用均方誤差MSE收到量綱的影響,例如在衡量房產時,y的單位是(萬元),那么衡量標準得到的結果是(萬元平方),為了解決量綱的問題,可以將其開方(為了解決方差的量綱問題,將其開方得到平方差)得到均方根誤差RMSE(Root Mean Squarde Error)
![]()

平均絕對誤差( MAE ) : Mean Absolute Error
對于線性回歸演算法還有另外一種非常樸素評測標準,要求真實值 *** 與 預測結果 *** 之間的距離最小,可以直接相減做絕對值,加m次再除以m,即可求出平均距離,被稱作平均絕對誤差MAE(Mean Absolute Error)
![]()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/47694.html
標籤:其他
上一篇:淺析決策樹及其剪枝、集成方法
下一篇:Scikit-Learn 原始碼研讀 (第一期)專案結構介紹