Lasso Logistic回归适用于不平衡数据?

时间:2017-05-09 18:57:51

标签: r-caret glmnet lasso

我正在通过套索正则化逻辑回归分析来自UCI机器学习库的Secom数据集,但结果不好。

https://archive.ics.uci.edu/ml/datasets/SECOM

特性:

  • 1546个具有590个数字属性的数据样本
  • 106个阳性样本(生产失败)

目标是准确预测正类,并进行特征选择。

我使用R中的glmnet包对lambda进行10倍交叉验证优化。但结果非常糟糕,因为模型倾向于将所有测试样本分配给单个类。

这个数据集只是错误的模型吗?

1 个答案:

答案 0 :(得分:2)

使用不平衡类进行预测可能是一个非常难以解决的问题。值得庆幸的是,有一个关于如何解决这些问题的大量参考书目。有一个特别适合我的人。它涉及使用上采样和/或下采样技术:

  • 下采样:随机对训练集中的所有类进行子集,使其类频率与最不普遍的类匹配。例如,假设80%的训练集样本是第一类,剩下的20%是第二类。下采样会随机抽样第一类与第二类相同(因此只有40%的训练集用于拟合模型)。插入符号包含一个函数(downSample)来执行此操作。

  • up-sampling:随机抽样(替换)少数类与大多数类相同。插入符号包含一个函数(upSample)来执行此操作。

  • 混合方法:SMOTE和ROSE等技术对大多数类进行下采样并在少数类中合成新的数据点。有两个包(DMwR和ROSE)可以实现这些过程。

我从这个caret's文档中获取了上述要点。该帖子包含有关上述每个要点和R代码的示例。在基于上述技术转换数据后,您应该能够使用Lasso逻辑回归并获得更好的结果。