gpt4 book ai didi

validation - 即使有训练/验证/测试数据,决策树也会过度拟合

转载 作者:行者123 更新时间:2023-11-28 20:46:06 30 4
gpt4 key购买 nike

我的问题如下。我有 6 个数据集(从不同的日子收集),我想为其构建决策树分类器。我需要找到最佳的树深度参数以避免过度拟合并对新数据进行良好的预测。

我的第一次尝试是将每个数据集按 50%/25%/25% 分成训练/验证/测试,并将它们合并成三个大文件。我制作了一张准确度与树深度的图表,使用大训练集进行训练,并从大验证集中计算出准确度。然而,我注意到验证集的准确性随着树深度的增加而不断增加并且从未下降!

在树深度为 20 时,准确率达到了 99% 左右。甚至测试集的准确率也达到了 99% 左右。根据我对数据的了解,我认为它必须过度拟合。我通过删除其中一个数据集来确认这一点,只留下 5 个。我使用与上述相同的过程对剩余的 5 个数据集进行训练,分为训练/验证/测试并以 20 的深度进行训练。这次我测试了它我遗漏的数据集产生了非常糟糕的结果,准确率低于 50%。

事实证明,由于我的数据集的时间序列性质,它有很多“重复”数据。任何数据集的 25-50% 采样可能等同于 100% 采样,因此过度拟合。我决定尝试一种不同的策略,随机打​​乱 6 个数据集并将它们按 3/3 分成训练/验证,重复 20 次并对结果求平均以找到最佳树深度。还在等结果,应该过几天就好了...

所以我的问题(最后!)是我所做的是否是一种合理的方法?我应该注意哪些其他类型的有趣数据?我的数据集似乎有一个我在任何地方都提到过的“陷阱”。

最佳答案

原来这个问题很微妙。长话短说,不要对数据进行采样(对于不平衡的数据集)并进行交叉验证!

说来话长。我有一个不平衡的数据集,负样本比正样本多 7-10 倍。我的选择是要么通过复制对正样本进行上采样,要么对负样本进行下采样。我进行了抽样,。这意味着在交叉验证期间,每次折叠都有很高的机会选择所有原始正样本,从而过度拟合正样本。我现在正在对负样本进行下采样,进行几次交叉验证并打乱数据。似乎现在工作。

关于validation - 即使有训练/验证/测试数据,决策树也会过度拟合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9332939/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com