我目前正致力于通过使用一些分类学习算法来估算信号的项目,例如物流回归和使用scikit-learn的随机森林。
我现在正在使用混淆矩阵来估计不同算法在预测中的性能,我发现两种算法都存在共同的问题。也就是说,在所有情况下,尽管算法的准确性似乎相对较好(约90%-93%),但与TP(FNR <3%)相比,FN的总数相当高。有没有人知道为什么我在预测问题中遇到这种问题。如果可能的话,你能给我一些关于如何解决这个问题的提示吗?
感谢您的回复和帮助。
更新: 数据集极不平衡(8:1),总共约180K观测值。我已经测试了几种重新采样方法,例如OSS,SMOTE(+ Tomek或+ ENN),但它们都没有返回好的结果。在这两种情况下,虽然召回率从2.5%上升到20%,但精确度显着下降(从60%降至20%)。
答案 0 :(得分:0)
你可能有一个不平衡的数据集,其中一个类的例子比你的其他类多得多。
一种解决方案是使用较少的示例来提高错误分类的成本。
Cross Validated中的这个问题涵盖了您的问题的许多方法: https://stats.stackexchange.com/questions/131255/class-imbalance-in-supervised-machine-learning
修改强>
鉴于您使用的是scikit-learn,作为第一种方法,您可以在Logistic regression上将参数class_weight
设置为balanced
。