为什么决策树在不平衡数据上工作得很好?

时间:2017-09-07 19:59:05

标签: machine-learning linear-regression decision-tree

我试着从骗子中抽取欺诈行为。

样本由284807个交易组成,其中497个为一类,其余为另一个,比率为0.172%。 存在不平衡问题,我想测试简单的随机欠采样是如何工作的。我将样品分成20个部分,并通过精确回忆曲线下的区域进行检查。

我采用了线性回归和决策树。 线性回归按预期工作: enter image description here

但似乎决策树工作得很完美:enter image description here

我们具有非常高的精度和召回率,欠采样使它们变得更糟。为什么两个模型之间存在很大差异?

1 个答案:

答案 0 :(得分:2)

首先,一般来说,简单的决策树模型不能很好地解决不平衡问题。模型的性能与数据集的实际分布密切相关。

有几种情况可以导致决策树模型解决不平衡问题,您可以检查问题中提到的情况是否与以下内容一致:

  1. 少数民族数据都在特征空间的一个区域。决策树的训练过程是一个递归过程,算法将继续选择最佳分区属性,生成分支和节点,直到满足:1)当前节点包含的样本都属于同一类,不需要划分2)属性集为空,或者所有属性值中的所有样本都相同,无法划分3)当前节点包含样本集为空,不能被分割。因此,如果少数数据都在特征空间的一个区域中,那么所有样本将被分割成一个节点,并且在预测中,如果测试集也是这样的特征分布,然后将获得一个好的分类器。
  2. 您正在使用使用成本敏感型学习的决策树。如果您的决策对成本敏感,则少数类样本的错误分类将比多数类样本的错误分类具有更高的成本。
  3. 如果您使用整体学习,模型将表现良好,但这不是决策树,它是RF或GBDT

    对于使用线性回归的简单分类器,例如逻辑回归,当遇到不平衡问题时,性能几乎肯定是坏的。这是因为在训练中,模型正在寻找一个超误分类的超平面。结果,模型将所有样品分类到大多数标签中。