首页 文章

决策树Sklearn -Depth树和准确性

提问于
浏览
1

我正在使用sklearn将决策树应用于数据集

在Sklearn中,有一个参数可以选择树的深度 - dtree = DecisionTreeClassifier(max_depth = 10) .

我的问题是max_depth参数如何帮助模型 . 高/低max_depth如何帮助更准确地预测测试数据?

2 回答

  • 4

    max_depth 就是这个名字所暗示的:你允许树长到的最大深度 . 您允许的越深,您的模型就越复杂 .

    对于训练错误,很容易看出会发生什么 . 如果增加 max_depth ,训练错误将始终下降(或至少不上升) .

    对于测试错误,它不太明显 . 如果将 max_depth 设置得太高,则决策树可能会过度拟合训练数据,而不会像我们希望的那样捕获有用的模式;这将导致测试错误增加 . 但如果你把它设得太低,那也不好;那么你可能会给决策树提供太少的灵活性来捕获训练数据中的模式和交互 . 这也会导致测试错误增加 .

    在太高和太低的极端之间有一个很好的黄金点 . 通常,建模者会将 max_depth 视为超参数,并使用某种网格/随机搜索和交叉验证来为 max_depth 找到一个好的数字 .

  • 0

    理想的参数实际上取决于您的数据 . 太低会导致不合适,太高会导致过度拟合 . 最好通过实验来寻找最佳位置 . 但是,决策树总是会简单地记住您的数据集 .

    此外,您可能想看看GridSearchCV . 它使实验过程自动化并找到理想的参数 .

相关问题