F1,AUC的区别与选择

1. 引入

评价一个分类器模型的效果,可以用交叉验证,也可以根据场景将数据切分为训练集、测试集,评价指标有Accuracy,F1-Value,AUC等。

那我们该如何选择评价指标呢?不同场景下选择哪个指标更合理呢?

2. 原理区别

  1. Accuracy
  • 准确率
  • 准确率高的模型,不一定是好模型
  • 比如癌症预测,100个人中只有一个病人,若分类器都输出0,准确率为99%,但我们都知道这无法找到任何一个癌症病人
  • 所以大部分场景,都不能直接根据Accuracy来评价模型
  1. F1-Value
  • 综合考虑了Precision和Recall的结果
  • 能很好的平衡Precision和Recall
  • 适用于大部分场景
  • 若数据分布不平衡,则会选择F1进行评估(参考2)
  1. AUC
  • AUC越大,表示True Positives 和 True Negatives 之间的差异就越大

3. 总结

  1. F1希望训练出一个不放过任何一种可能的模型
  • 比如欺诈检测、癌症检测,漏诊是不负责的,宁可错杀一千,也不放过一个
  1. AUC希望训练出一个尽量不误报的模型
  • 比如推荐算法,推荐错了用户会非常反感
  1. ACC大部分场景都不能直接根据ACC来评价模型

4. 参考

  1. 详解ROC/AUC计算过程
  • https://blog.csdn.net/ybdesire/article/details/51999995
  1. F1 Score vs ROC AUC
  • https://stackoverflow.com/questions/44172162/f1-score-vs-roc-auc
  1. F1 Score vs ROC AUC vs Accuracy vs PR AUC: Which Evaluation Metric Should You Choose?
  • https://neptune.ai/blog/f1-score-accuracy-roc-auc-pr-auc
  1. 深入理解实际场景下 AUC vs F1 的区别
  • https://blog.csdn.net/Jerry_Lu_ruc/article/details/107912462
  1. 精确率、召回率、F1 值、ROC、AUC 各自的优缺点是什么
  • https://www.zhihu.com/question/30643044

你可能感兴趣的:(Machine,Learning,神经网络,深度学习,机器学习,神经网络)