2

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

我有3个文件可供使用,

  1. 训练文件:85 个输入变量和 1 个目标变量,包含 5800 多个观察值
  2. 预测文件:85 个输入变量,4000 个观测值
  3. 验证文件:1 个变量,包含对第二个文件的正确预测。由于这是一个学术项目,这个文件在这里告诉我们我们是否做得很好。

我的问题是数据集不平衡(95% 的 0 和 5% 的 1 用于训练文件中的目标变量)。所以很自然,我尝试使用“采样节点”重新采样模型,如以下链接中所述

这是我使用的两种方法,它们给出的结果略有不同。但这是我得到的普遍不满意的结果:

  • 不重新采样:该模型在 4000 次观察中预测少于 10 个请求的个体(目标变量 = 1)
    • 重采样:该模型预测了超过 4000 次观察的约 1500 名被征集的个人。

我正在寻找 100 到 200 名被征集的人来拥有一个被认为可以接受的模型。

为什么您认为我们的预测与这种情况相去甚远,我们该如何补救这种情况?

这是两个模型的屏幕截图

模型 1 模型 2

4

1 回答 1

1

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

  1. 假设您有 100 个观察请求(少数),占您所有观察的 5%
  2. 使用 KMEAN、MEANSHIF、DBSCAN 和...
  3. 然后对于每组成熟度聚类观察,创建一个包含所有 100 个观察请求(少数)类的数据集。这意味着您有 20 组数据集,每个女巫与 100 个请求的观察值和 100 个非请求的观察值相平衡
  4. 训练每个平衡组并为每个组创建一个模型
  5. 在预测时,预测所有 20 个模型。例如,如果 20 个模型中有 15 个说它是征集的,则它是征集的
于 2018-03-26T20:01:01.767 回答