最近空余时间在参加数字中国创新大赛,比赛规则是根据模型的F1值对参赛者进行排名。为了更深刻地理解这个指标,我最近对它做了一些梳理,现在把它分享给更多有需要的人图片。最近在参赛时也发现了一个问题,就是算法在训练集上完全拟合(KS=1),但是到测试集上衰退得比较多,即出现了过拟合的现象。如果对过拟合调参比较有经验的小伙伴,欢迎到公众号中进行沟通交流。有正在参赛的小伙伴,想讨论赛题的也可以联系我。
对于分类模型,在建立好模型后,我们想对模型进行评价,常见的指标有混淆矩阵、F1值、KS曲线、ROC曲线、AUC面积等。也可以自己定义函数,把模型结果分割成n(100)份,计算top1的准确率、覆盖率。之前阐述了混淆矩阵和KS曲线,本文阐述F1值的原理和Python实现实例,其它指标会在后续文章中详尽阐述,敬请期待图片。
一、详细介绍F1值
1 什么是F1值
F1值又称为F1分数(F1-Score):是分类问题的一个衡量指标,它是精确率P(Precision)和召回率R(Recall)的调和平均数。
F1值的取值范围(0~1),越接近1说明模型预测效果越好,至于原因详见后文。
2 理解F1值的一个小例子
假设1代表涉赌涉诈账户,0代表非涉赌涉诈的低风险账户。