你能在scikit learn中修复分类器中的假阴性率吗

2024-06-16 16:49:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用scikitlearn中的Random Forest classifer,它包含两个类的不平衡数据集。我更担心假阴性而不是假阳性。有没有可能修复假阴性率(比如说1%)并要求scikit以某种方式优化假阳性率?在

如果这个分类器不支持它,是否还有其他分类器支持它?在


Tags: 数据分类器方式randomscikit阳性阴性forest
3条回答

我相信sklearn中的类不平衡问题可以通过使用class_weight参数部分解决。在

这个参数要么是一个字典,每个类都被分配了一个统一的权重,要么是一个字符串,告诉sklearn如何构建这个字典。例如,将此参数设置为“auto”,将按每个类的频率的倒数来加权。在

通过用更高的量来加权较少出现的类,你可以得到“更好”的结果。在

SVMlogistic回归等分类器也提供了这个class_weight参数。在

This堆栈溢出的答案给出了一些关于如何处理类不平衡的其他想法,例如欠采样和过采样。在

随机森林已经是一个袋装分类器,因此应该已经给出一些好的结果。在

获得期望的假阳性或假阴性精度的一种典型方法是使用ROC曲线进行分析 http://scikit-learn.org/stable/auto_examples/plot_roc.html 例如,修改某些参数以达到期望的FP率。在

不确定是否可以使用参数调整随机林分类器的FP率。您可以根据应用程序查看其他分类器。在

我发现了这篇关于班级不平衡问题的文章。在

http://www.chioka.in/class-imbalance-problem/

主要讨论了以下几种可能的解决方案:

  • 基于成本函数的方法
  • 基于抽样的方法
  • SMOTE(合成少数过采样技术)
  • 最近的方法:RUSBoost、SMOTEBagging和Underbagging

希望能有所帮助。在

相关问题 更多 >