1. 程式人生 > >準確率(Accuracy) 精確率(Precision) 召回率(Recall)和F1-Measure

準確率(Accuracy) 精確率(Precision) 召回率(Recall)和F1-Measure

搜索 例如 總數 文檔 measure 目標 就是 原本 pos

先驗知識

  我們首先將數據的類別統一分為兩類:正類負類。例如:一個數據集中的數據一共有3類,小學生、中學生、高中生。我們的目標是預測小學生,那麽標記為小學生的數據就是正類,標記為其他類型的數據都是負類。

  數據有兩種狀態:測試集數據預測結果數據

  對一批測試數據進行預測,結果可以分成四種。

  • TP(True Positive): 原本是正類,預測結果為正類。(正確預測為正類)
  • FP(False Positive): 原本是負類,預測結果為正類。(錯誤預測為正類)
  • TN(True Negative): 原本是負類,預測結果為負類。(正確預測為負類)
  • FN(False Negative):
    原本是正類,預測結果為負類。(錯誤預測為負類)

準確率(Accuracy)

  對於給定的測試數據集,分類器正確分類的樣本數與樣本總數之比,就稱為準確率,即(TP+TN)/(TP+TN+FP+FN)

精確率(Precision)

  在預測結果為正類的數據中,有多少數據被正確預測(原本就是正類),即TP/(TP+FP)

  對應於檢索中的查準率檢索出相關文檔數/檢索出的文檔總數

召回率(Recall)

  在測試集中為正類的數據中,有多少數據被正確預測(預測結果是正類),即TP/(TP+FN)

  對應於檢索中的查全率檢索出相關文檔數/文檔庫中相關文檔總數

F1-Measure

  精確率和召回率的調和平均值:Accuracy * Precision * 2 / (Accuracy + Precision)

總結

  理論上,數據預測的準確率和召回率越接近1,說明預測模型的效果越好。但是實際中也不一定,取決於場景更傾向於哪一種。例如我們去某搜索引擎搜索XX病,一共返回了10條結果,其中5條廣告,5條有用的相關信息,那麽準確率就是50%,而後臺數據庫中一共就5條有用的相關信息,召回率卻是100%,所以大家就認為這個搜索引擎也能湊合用。

  區別精確率和召回率主要記住他們是分母不同就好了,召回率是對應測試集中的正類數據而言,而準確率是對應預測結果為正類的數據而言。

準確率(Accuracy) 精確率(Precision) 召回率(Recall)和F1-Measure