不平衡的模型,对于采取什么步骤感到困惑

时间:2018-03-10 23:41:39

标签: machine-learning sas classification data-mining enterprise-miner

这是我的第一个数据挖掘项目。我正在使用SAS Enterprise矿工来训练和测试分类器。

我有三个文件可供我使用,

  1. 训练档案:85个输入变量和1个目标变量,观测值为5800+
  2. 预测文件:85个输入变量,4000个观测值
  3. 验证文件:1个包含第二个文件的正确预测的变量。由于这是一个学术项目,这个文件告诉我们我们是否做得不错。
  4. 我的问题是数据集是不平衡的(训练文件中目标变量的0%和1%的5%)。很自然地,我尝试使用"采样节点"重新采样模型。如以下link

    所述

    以下是我使用的两种方法,它们给出的结果略有不同。但这是我得到的一般不令人满意的结果:

    • 没有重新采样:该模型预测不到10个被请求的个体(目标变量= 1)超过4000次观察
      • 通过重新取样:该模型预测了超过4000个观察者中约1500名被请求者。

    我正在寻找100到200名被请求的人,以获得一个被认为可以接受的模型。

    为什么你认为我们的预测不是这样的,我们如何才能解决这种情况呢?

    这是两个模型的屏幕截图

    Model 1 Model 2

1 个答案:

答案 0 :(得分:1)

有一些技术可以处理不平衡的数据。很多年前我记得的就是这种方法:

  1. 说你有100个观察请求(少数)占所有观察结果的5%
  2. 集群其他非请求(成熟)类,使用聚类算法(如KMEAN,MEANSHIF,DBSCAN等)向20个组(每个组中有100个观察没有被请求的个体)
  3. 然后对于每组成熟度聚类观察,创建一个包含所有100个观察请求(少数)类的数据集。这意味着你有20组数据集,每个数据集平衡100个请求和100个没有请求的观察
  4. 训练每个平衡组并为每个组创建一个模型
  5. 在预测时,预测所有20个模型。例如,如果20个模型中的15个说它被征求,则征求