首页 > 解决方案 > DecisionTreeRegression 提供 100% 的训练准确度,但在测试集中失败

问题描述

我正在尝试拟合一个非常小的数据集,它没有训练示例 = 16,当我使用决策树回归时,虽然它在训练中给出了准确的值,但在测试集中失败了。我不知道为什么会这样

from sklearn.tree import DecisionTreeRegressor

model = DecisionTreeRegressor(max_depth=50,max_features="auto")

model.fit(X, Y)

标签: pythonmachine-learningscikit-learndecision-tree

解决方案


我猜“它在测试集中失败”实际上意味着你的测试准确度很低。


这是一个过拟合模型的完美例子。根据定义,当训练准确度(在您的情况下为 100%)大于训练/验证准确度时,就会发生过度拟合。这意味着您的模型在训练数据中学习了在更广泛的人群中不适用或无效的模式。


有许多技术可以帮助您解决过拟合问题。可能值得从K-Fold Validation开始。


推荐阅读