Machine learning 训练集中的班级分布

Machine learning 训练集中的班级分布,machine-learning,classification,Machine Learning,Classification,在建立预测模型时(特别是在电信行业,关于客户流失),是否有必要在培训集中的课程之间进行1:1的划分(实际分布更像是1:50)?当阅读别人所做的事情时,情况似乎就是这样。但是他们没有必要把它作为一项要求。推荐什么?您的问题通常被称为“阶级失衡”。它是否以及如何影响您的结果取决于您使用的算法和评估指标。例如,逻辑回归算法和模型精度可能非常容易受到此问题的影响。另一方面,简单的包络模型和模型AUC更能抵抗阶级不平衡。我知道处理这一问题有五种可能的方法: 1) 向上抽样:基本上是人为增加稀有类的数量。当

在建立预测模型时(特别是在电信行业,关于客户流失),是否有必要在培训集中的课程之间进行1:1的划分(实际分布更像是1:50)?当阅读别人所做的事情时,情况似乎就是这样。但是他们没有必要把它作为一项要求。推荐什么?

您的问题通常被称为“阶级失衡”。它是否以及如何影响您的结果取决于您使用的算法和评估指标。例如,逻辑回归算法和模型精度可能非常容易受到此问题的影响。另一方面,简单的包络模型和模型AUC更能抵抗阶级不平衡。我知道处理这一问题有五种可能的方法:

1) 向上抽样:基本上是人为增加稀有类的数量。当您只有很少的数据时,这可能是一个可行的解决方案,但您有信心它能够代表更广泛的人群

2) 向下采样:只需省略富足类的一部分。当您有大量数据时,这是一个选项

3) 权重:告诉你的算法对从稀有类获得的信息给予更大的重视

4) 装袋:在这里,你随机地对你的数据进行子抽样,并将“弱”学习者与每个子样本相匹配。之后,将这些弱学习者聚集在一起,创建一个最终预测

5) 提振:类似于装袋,但每个“弱”学习者都不会对之前的装袋者不可知。取而代之的是,他们从最新的集合中提取残差


这里有一个非常详细的例子,包括
R
中的一些工作示例,它更侧重于
python

我想你的问题会在stats.stackexchange.com上引起更多的注意;不过,我将在下面尝试回答(一个相对一般的问题)。谢谢!正是我需要的!