从高度倾斜的数据集预测

时间:2014-07-18 17:14:54

标签: machine-learning classification prediction skew

我想找到导致特定事件发生的因素。然而,该事件仅发生在大约1%的时间。因此,如果我有一个名为event_happened的类属性,99%的时间值为0,1%只有1%的时间。传统的数据挖掘预测技术(决策树,幼稚的贝叶斯等)似乎并不适用于这种情况。关于如何挖掘这个数据集的任何建议?谢谢。

3 个答案:

答案 0 :(得分:3)

这是任务Anomaly detection task的典型描述 它定义了自己的算法组:

  

在数据挖掘中,异常检测(或异常值检测)是对不符合预期模式或数据集中其他项目的项目,事件或观察的识别。

关于可能方法的陈述:

  

存在三大类异常检测技术。无监督异常检测技术在假设数据集中的大多数实例通过查找似乎最接近数据集的其余部分的实例的情况下检测未标记的测试数据集中的异常。监督异常检测技术需要一个标记为" normal"和"异常"并且涉及训练分类器(与许多其他统计分类问题的关键差异是异常检测的固有不平衡性质)。半监督异常检测技术构建表示来自给定正常训练数据集的正常行为的模型,然后测试由学习模型生成测试实例的可能性。

你会选择的是个人风格的问题。

这些方法将有助于学习"找出异常事件;那么"预测"他们将定义您感兴趣的因素。

答案 1 :(得分:0)

  

假设我的属性是day_of_day,day_of_the_week,state,customer_age,customer_gender等。我想知道这些因素中的哪些因素对我的事件发生有影响。

根据这个答案,我认为你需要分类,但你的结果将是模型本身。

因此,您执行逻辑回归,但您的功能本身就是数据属性(有些文献甚至没有将功能和属性分开)。

您必须以某种方式规范化此数据。这可能很棘手。我会选择布尔功能(比如hour_of_event==00, hour_of_event==01, hour_of_event==02,...)

然后,您应用任何分类模型,最终会对每个属性赋予权重。具有(最高权重将是您需要的因素)的属性。

答案 2 :(得分:0)

这是不平衡分类问题。

我很确定我已经看过一些关于可以很好地处理不平衡数据的方法的调查和概述文章。你应该研究这个术语("倾斜"有点宽泛,可能无法得到你想要的结果)。