关于分类任务的一些知识点

对于业务用户来说,希望技术团队完成的是正确分类,区别无分是分成两类还是多类,是一个级别的分类还是多个级别的分类,然后要求准一点。那么什么是准一点呢?也许用户还没有意识到这个问题的复杂性,或者说没有意识到他们真正关心的是什么。由于多分类问题可以简化为多个二分类问题,我们直接来分析看似简单的二分类问题。

准一点就是准确度(Accuracy),也就是说用户给了我们数据,我们分好类把答卷交给用户,用户判卷子的结果。以二分类举例,75%就是每100个数据,被正确挑出的正类和负类一共有75个。一般情况下这样的评估方式是合理的,但也有特殊的例子,譬如真实的正负类比例是98比2,那么模型只要把所有的数据都判别为正类,准确率就是98%,非常高,但对业务没有任何意义,因为一个负类都挑不出来。

(所以之前实习的时候主要看的不是accuracy)

那么用户实际关注的是什么呢?举两个例子。例如各大网站的商品推荐,建立一个模型的目的是尽量将正确的商品推荐给感兴趣的用户,如果推了一个产品用户没有兴趣,也不会有很大损失,这种情境下用户对于错误的推荐并不会很在意。这是一种情境。

而如果是欺诈、垃圾邮件、还款逾期判别的模型,对识别的用户和邮件会直接进行处理,被错判为欺诈的用户可能非常恼怒,被错判为垃圾邮件也许会直接影响用户工作。这种情况下宁可遗漏,也要减少误判。这是第二种情境。

(不同的业务对灵敏度和特异度的要求不一样)

这两种情境,用户关注点并不相同,情境一关注的是不要遗漏,可推荐可不推荐的都要给用户推荐过去。情境二关注的是误判,拿不准的宁可漏掉,也不要错误判定。使用技术语言,情境一关注的是查全率: Recall or TPR = TP/(TP+FN),情境二关注的是精确率: Precision = TP/(TP+FP)。那有没有平衡这两种评价标准的指标呢?有,就是F Measure,简化版本为F1。在多分类中,又细化为Micro F1和Macro F1。

 

总结一下,正确的做法是用AUC评价模型能力,选取好的模型之后根据实际需求确定阈值,再用Macro F1计算性能指标。

 
posted @ 2022-12-03 22:00  Tomorrow1126  阅读(86)  评论(0编辑  收藏  举报