为什么决策树在不平衡数据上表现完美?

Why decision tree works perfect on imbalanced data?

我用 kaggle 的欺诈抽样进行了实验。

样本共284807笔交易,其中497笔为一笔class,其余为另一笔,占比为0.172%。 存在不平衡问题,我想测试简单的随机欠采样是如何工作的。我将样本分成 20 个部分,并检查了精确召回曲线下的区域。

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

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

我们有很高的准确率和召回率,而欠采样会使它们变得更糟。为什么两个模型之间有这么大的差异?

首先,一般来说,一个简单的决策树模型并不能解决非常不平衡的问题well.The模型的性能与数据集的实际分布密切相关。

有几种情况会导致决策树模型解决不平衡的问题,你可以看看你在问题中提到的情况是否符合以下情况:

  1. 少数数据都在特征的一个区域space。决策树的训练过程是一个递归过程,算法会不断选择最优划分属性,生成分支和节点,直到满足: 1)当前节点包含的样本都属于同一类别,不需要划分 2)属性集为空,或者所有属性值中的所有样本都是相同,无法划分 3)当前节点包含的样本集为空,不能divided.So 如果少数数据都在特征的一个区域space,则所有样本将被划分为一个节点,而在预测中,如果测试集也是这样的特征分布,那么就会得到一个很好的classifier
  2. 您正在使用使用成本敏感学习的决策树。如果您的决策是成本敏感的,少数人的错误class化class 样本的成本将高于 misclass 大多数 class 样本的成本。

如果使用集成学习,模型会表现很好,但那不是决策树,是RF或GBDT

对于使用线性回归的简单 class 器,例如逻辑回归,当面对不平衡 problem.This 时,性能几乎肯定是不好的,因为在训练中,模型正在寻找一个超平面,这使得 misclassificationleast.As一个结果,模型将所有样本排序到最标签中。