python - DecisionTreeRegression 提供 100% 的训练准确度,但在测试集中失败
问题描述
我正在尝试拟合一个非常小的数据集,它没有训练示例 = 16,当我使用决策树回归时,虽然它在训练中给出了准确的值,但在测试集中失败了。我不知道为什么会这样
from sklearn.tree import DecisionTreeRegressor
model = DecisionTreeRegressor(max_depth=50,max_features="auto")
model.fit(X, Y)
解决方案
我猜“它在测试集中失败”实际上意味着你的测试准确度很低。
这是一个过拟合模型的完美例子。根据定义,当训练准确度(在您的情况下为 100%)大于训练/验证准确度时,就会发生过度拟合。这意味着您的模型在训练数据中学习了在更广泛的人群中不适用或无效的模式。
有许多技术可以帮助您解决过拟合问题。可能值得从K-Fold Validation开始。
推荐阅读
- angular - 如何在 Angular 中重用具有少量附加功能的组件
- sql - Oracle SQL 中的嵌套 IF
- jmeter - 如何摆脱错误“类型变量声明:方法调用错误:找不到方法 getCookieManager() ..”
- sql - 有没有办法在火花中创建所有列的列表
- c# - Hangfire 与 AspNet Core 3.1 控制台应用程序 DI 错误对象的集成与目标类型不匹配
- reactjs - 当我将对象作为道具传递时,纯组件就像普通组件一样工作?
- angular - Angular:捕获动态容器内发出的事件
- log4j - databricks 无法解析自定义日志附加程序
- javascript - 当父状态更新时,子道具不会
- java - 按下回车键后CMD停止获取代码结果