是否认为过拟合具有完美属性的决策树?

Posted

技术标签:

【中文标题】是否认为过拟合具有完美属性的决策树?【英文标题】:Is it considered overfit a decision tree with a perfect attribute? 【发布时间】:2016-08-27 18:44:30 【问题描述】:

我有一个 6 维训练数据集,其中有一个完美的数字属性,它以这种方式分隔所有训练示例:如果 TIME=200,则示例属于 class2。 J48 创建一棵只有 1 级的树,并且该属性作为唯一的节点。

但是,测试数据集不遵循这个假设,并且所有示例都被错误分类。我无法确定这种情况是否被认为是过度拟合。我想说这并不是因为数据集那么简单,但据我了解过拟合的定义,它意味着对训练数据的高度拟合,这就是我所拥有的。有什么帮助吗?

【问题讨论】:

除了class1和class2还有其他类吗? 不,只有两个类。 那么为什么需要更多信息来对示例进行分类?换句话说,训练数据存在缺陷,因为您不需要更多信息来对示例进行分类。 【参考方案1】:

但是,测试数据集不遵循这个假设,并且所有示例都被错误分类。我无法确定这种情况是否被认为是过度拟合。我想说这并不是因为数据集那么简单,但据我了解过拟合的定义,它意味着对训练数据的高度拟合,这就是我所拥有的。有什么帮助吗?

通常,好的训练分数和糟糕的测试意味着过度拟合。但这假设了数据的 IID,而您显然违反了这一假设——您的训练数据与测试数据完全不同(训练数据有一个明确的规则,对测试数据没有意义)。换句话说 - 您的训练/测试拆分不正确,或者您的整个问题不遵循在何处使用统计机器学习的基本假设。当然,在您的情况下,我们通常会在没有对数据进行有效假设的情况下拟合模型-最自然的方法是删除最违反假设的特征-用于构造节点的特征。这种“专家决策”应该在构建任何分类器之前完成,您必须考虑“测试场景与训练场景相比有什么不同”并删除显示这种差异的东西 - 否则您的数据会出现严重偏差收集,因此统计方法将失败。

【讨论】:

【参考方案2】:

是的,这是过拟合。创建训练集的第一条规则是让它看起来尽可能像任何其他集。您的训练集明显不同于其他任何训练集。它嵌入了答案,而您的测试集没有。任何学习算法都可能会找到与答案的相关性并使用它,并且就像 J48 算法一样,会将其他变量视为噪声。相当于 Clever Hans 的软件。

您可以通过移除变量或在从整个可用集合中随机抽取的集合上进行训练来克服这个问题。但是,由于您知道有一个带有嵌入主要提示的子集,因此您应该删除该提示。

你很幸运。有时,这些提示可能非常微妙,直到您开始将模型应用于未来数据时才会发现。

【讨论】:

以上是关于是否认为过拟合具有完美属性的决策树?的主要内容,如果未能解决你的问题,请参考以下文章

决策树——是不是过拟合?

决策树过拟合检验

决策树之剪枝

决策树如何防止过拟合

随机森林为啥不会过度拟合

sklearn 通过检查是否具有属性确定是否拟合过了