評分二進位分類模型
二進位分類模型將結果分佈到兩個類別中,例如「是」或「否」。可以透過各種評分指標評估模型分佈結果的準確度。
指標呈現模型的不同優點和缺點。其中每一個指標本身都無法真正衡量合適性。具體而言,重要的是應記住,很棒的整體準確度分數不代表模型很棒。例如,若公司只有 10% 的轉換率,會有什麼情況?模型只要表示不會有潛在客戶轉換,就可以取得 90% 的準確度分數。F1、recall 和精確度都應參與其中,以協助判定模型優點和缺點的平衡。若模型假設 100% 的潛在客戶都不會轉換,則 F1 會是 0。
二進位分類實驗訓練期間,會自動產生下列圖表,以提供模型分數的快速分析:
糢糊矩陣:概述分類模型中預測結果準確度的圖表。請參閱 混淆矩陣。
ROC 曲線:該圖表顯示機器學習模型在實際結果為真時,有多麼擅於預測正分類。 請參閱 AUC 和 ROC 曲線。
混淆矩陣
二進位分類問題的大部分指標透過 confusion matrix 值的不同計算所產生。混淆矩陣是模型索引標籤中顯示的視覺化之一。這透過每個分類的總計,顯示正確預測了多少實際真值和實際假值。圖中所示的值是根據用來在訓練後驗證模型效能的自動鑑效組資料。資料集中的每個記錄排序為四等分之一:
-
確判為真 (TP) 是正確預測為真的實際真值。
-
誤判 (FP) 是不正確地預測為真的實際假值。
-
誤否定 (FN) 是不正確地預測為假的實際真值。
-
確判為假 (TN) 是正確預測為假的實際假值。
以下是各個四等分的數字,您也可以查看指標 recall (TP)、fallout (FP)、miss rate (FN) 和 specificity (TN) 的百分比值。將游標暫留在值上方,以查看工具提示與指標。
任何實際案例都會在 confusion matrix 中顯示誤判和誤否定。對訓練資料的完美預測表示模型記住了答案,實際上將會表現得很差。您會希望確保您已擷取足夠的確判為真和確判為假。
F1
F1 分數是在分類因聚焦於正預測和實際正記錄的準確度而不平衡時嘗試考慮準確度的指標。這可以視為模型擷取重要結果的準確度。指標嘗試平衡 recall 和精確度,以便在理想上找到兩者之間的中間點。請注意,資料集越不平衡,F1 分數可能越低,即使整體準確度相同也是如此。
若 F1 值很高,所有其他評分指標就會很高。若值很低,就是您需要進一步分析的徵兆。不過,若分數非常高,或者若鑑效組分數大幅低於交叉驗證分數,可能是資料滲漏的徵兆。
F1 計算方式是:2 x ((精確度 x Recall) / (精確度 + Recall))
召回率
Recall 是確判為真率。這衡量模型在內容實際為真時準確預測為真的頻率。亦即模型在資料集內尋找所有實際真案例時有多麼準確?Recall 可衡量正分類旳良好記憶。計算方式是:TP / (TP + FN)
精確度
精確度也稱為正面預測價值。這衡量模型預測內容為真時正確的機率。計算方式是:TP / (TP + FP)
recall 和精確度之間的取捨
recall 可描述為模型投射的網有多廣:是否擷取所有 True 值?即使做出一些誤判預測也是如此?這是否盡量擷取了真的內容?精確度有點和 recall 相反。在此,我們希望確認當模型預測為真時,這在預測為真方面非常精確。不過,在高精確度的情況下,我們最後卻得到更多誤否定,即使內容為真,模型仍預測為假 。
不遺漏任何真的結果,以及確保所有預測為真的結果實際上不是假性,兩者之間應有取捨。偏向較高的精確度或較高的 recall 都合理,這取決於您的商務使用案例。例如,預測疾病診斷時,您想要確認不會遺漏實際上曾罹患該疾病的病患,亦即誤否定。
-
若誤否定的「成本」很高,偏向高 recall 的模型可能更合理。
-
若誤判的「成本」很高,偏向高精確度的模型可能更合理。
準確度
準確度衡量模型平均而言正確預測的頻率。計算方式是:(TP + TN) / (所有預測)
明確性
Specificity 是確判為假率。這衡量模型在內容實際為假時準確預測為假的頻率。計算方式是:TN / (FP + TN)
MCC
Matthews 相關係數 (MCC) 的範圍從 -1 到 1,其中 1 代表模型正確預測每個樣本。MCC 計算方式是:((TP x TN) - (FP x FN)) / [(TP + FP) x (FN + TN) x (FP + TN) x (TP + FN)]^(1/2)
遺漏率
Miss rate 是誤否定率。這是誤否定數量和實際為真的事件總數之間的比率。計算方式是:FN / (TP + FN)
後果
Fallout 是誤判率。這是誤判數量和實際為假的事件總數之間的比率。計算方式是:FP / (FP + TN)
NPV
負面預測價值 (NPV) 衡量模型預測內容虛假時正確的機率。計算方式是:TN / (FN + TN)
記錄損失
Log Loss 是邏輯迴歸準確度的常見衡量方式。較低的 log loss 值代表較好的預測:完美模型的 log loss 會是 0。
AUC 和 ROC 曲線
曲線下區域 (AUC) 是更複雜的準確度指標,可協助您理解模型的決定性程度。這描述模型在實際結果為真時,有多麼擅於預測正分類。
AUC 定義為 ROC 曲線下的區域。ROC 曲線針對一些介於 0.0 和 1.0 之間的不同 threshold 值繪製誤判率 (X 軸) 與確判為真率 (Y 軸)。換言之,這繪製假性警報率與命中率。若可以在分類之間做出區隔,指示資料是否夠好,足以精確辨別預測結果,則此曲線對於理解很實用。
確判為真率計算方式是:TP / (TP + FN)
-
確判為真率越靠近 1.0 (曲線下區域的可能上限),模型越具有決定性。
-
確判為真率越靠近 0.5,模型越不具決定性。
下圖顯示良好的 ROC 曲線。良好的原因是曲線應盡量靠近 1,這提供高 AUC。虛線是隨機機率,即 50:50。若 AUC 很低,曲線會被視為不良曲線。
閾值
threshold 是預測為真的機率。這代表誤判和誤否定之間的取捨。會根據演算法決定 threshold 值,模型中的每個演算法可能會有不同的 threshold 值。
Threshold 微調
threshold 微調是有效的方式,可確保選取正確的 threshold 值,以最佳化二進位分類模型的 F1 分數。AutoML 為從 0 到 1 數百個不同的可能 threshold 運算精確度和 recall。會選擇達到最高 F1 分數的 threshold。
選取 threshold (而非依賴預設 0.5 threshold) 會對於正例和負例數量不平衡的資料集產生更健全的預測。
在圖表中,threshold 設定為 0.5。在此情況下,實際為真且預測小於 0.5 的記錄,取得假性預測標籤 (誤否定)。
變更決定記錄預測為真或假的 threshold 後,我們可以取得偏向較高的 recall 或較高的精確度。