使用F1分數進行二元分類的度量是很常見的。這就是所謂的調和均值。然而,更通用的F
beta評分標準可能更好地評估模型效能。那麼F2 F3和F
beta呢?在這篇文章中,我們將回顧F指標。
介紹
根據許多資料科學家的說法,最可靠的模型效能度量是準確率。但是確定的模型指標不只有一個,還有很多其他指標。 例如,準確率可能很高,但是假陰性也很高。 另一個關鍵度量是當今機器學習中常見的F指標,用於評估模型效能。 它按比例結合了精度和召回率。 在這篇文章中,我們探討了建議兩者不平衡的不同方法。
混淆矩陣,精度和召回
混淆矩陣總結了ML中有監督學習演算法的效能。它比一般的精度度量提供了更詳細的分析,因此更有益。在混淆矩陣中,每一行表示預測類中的例項,每一列表示實際類中的例項。簡化後的混淆矩陣包含兩行兩列,如前所述,其中:
我們定義兩個重要的度量:精度:TP樣本的數量除以所有P樣本(真和假),召回:TP樣本的數量除以(TP+FN)。
由於這兩項措施都具有高度的重要性,因此需要一項措施將兩者結合起來。因此,提出了精度和召回的調和均值,也稱為F1分數。
F1分數
計算方式如下:
F1分數的主要優點(同時也是缺點)是召回和精度同樣重要。在許多應用程式中,情況並非如此,應該使用一些權重來打破這種平衡假設。這種平衡假設可能適用於資料分佈不均勻的情況,如大量正負資料。
F2和F3分數
使用加權平均值,我們可以很容易地得到F2分數:
同樣,F3得分為:
F_beta分數
推廣加權平均法得到的F beta測度,由:
這種方法允許我們定義召回比精度重要多少。在sklearn中使用F beta度量非常簡單,請檢視以下例子:
>>> from sklearn。metrics import fbeta_score
>>> y_true = [0, 1, 2, 0, 1, 2]
>>> y_pred = [0, 2, 1, 0, 0, 1]
>>> fbeta_score(y_true, y_pred, average=‘macro’, beta=0。5)
0。23。。。
>>> fbeta_score(y_true, y_pred, average=‘micro’, beta=0。5)
0。33。。。
>>> fbeta_score(y_true, y_pred, average=‘weighted’, beta=0。5)
0。23。。。
>>> fbeta_score(y_true, y_pred, average=None, beta=0。5)
array([0。71。。。, 0。 , 0。 ])
總結
在這篇文章中,我回顧了F指標。我希望所提供的資料能夠幫助那些處理分類任務的人,並幫助他們在使用準確性的同時使用F分數。
以下是·sklearn的文件,有興趣的可以詳細進行閱讀:https://scikit-learn。org/stable/modules/generated/sklearn。metrics。fbeta
score。html?highlight=f%20beta#sklearn。metrics。fbeta
score
作者:Barak Or
deephub翻譯組