sklearn中f1_score參數解析

1. f1_score

sklearn.metrics.f1_score(y_true, y_pred, labels=None, pos_label=1, average=‘binary’, sample_weight=None, zero_division=‘warn’)
y_true和y_pred顧名思義,一個是真實的標籤,一個是預測的標籤,注意這裏的標籤不需要轉成one-hot形式
f1_score在講解時適用於二分類,結果是類別1(如患癌症)的f1_score。在多分類中,可以假設某個類別爲1,其他類別爲0,因此可以計算每個類別的f1_score

2. average

  • string, [None, ‘binary’ (default), ‘micro’, ‘macro’, ‘samples’, ‘weighted’]
    • None:返回每個類別的f1_score,是一個列表
    • binary:僅適用於二分類,當pos_label爲1時,返回類別1的f1_score
    • micro: 通過先計算總體的TP,FN和FP的數量,再計算F1,關於micro和macro可詳見博客(說明很詳細):https://www.cnblogs.com/techengin/p/8962024.html
    • macro:分別計算每個類別的F1,然後做平均(各類別F1的權重相同),也即宏f1。當小類很重要時會出問題,因爲該macro-averging方法是對性能的平均。另一方面,該方法假設所有分類都是一樣重要的,因此macro-averaging方法會對小類的性能影響很大。
    • samples:詳見https://zhuanlan.zhihu.com/p/59862986
    • weighted:前面提到的macro算法是取算術平均,weighted算法就是在macro算法的改良版,不再是取算術平均、乘以固定weight(也就是1/3)了,而是乘以該類在總樣本數中的佔比。計算一下每個類的佔比:
      https://www.cnblogs.com/techengin/p/8962024.html博客部分內容如下:
      在這裏插入圖片描述
      在這裏插入圖片描述
      在這裏插入圖片描述
      https://zhuanlan.zhihu.com/p/59862986博客部分詳見:
      在這裏插入圖片描述
      在這裏插入圖片描述
      在這裏插入圖片描述
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章