【问题标题】:DecisionTreeRegression gives 100% training accuracy but fails in test setDecisionTreeRegression 提供 100% 的训练准确度,但在测试集中失败
【发布时间】:2020-07-22 04:57:20
【问题描述】:

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

from sklearn.tree import DecisionTreeRegressor

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

model.fit(X, Y)

【问题讨论】:

  • 到底是怎么失败的?
  • 失败你的意思是你的准确率很低吗?
  • ... 还是一个错误?还是什么?

标签: python machine-learning scikit-learn decision-tree


【解决方案1】:

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


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


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

【讨论】:

    猜你喜欢
    • 2018-10-08
    • 2023-02-26
    • 2020-11-06
    • 2018-02-21
    • 2020-07-08
    • 1970-01-01
    • 2021-04-23
    • 1970-01-01
    • 2020-09-05
    相关资源
    最近更新 更多