【问题标题】:How can I specify splits in decision tree?如何在决策树中指定拆分?
【发布时间】:2026-01-25 05:05:02
【问题描述】:

我正在尝试使用 scikit-learn 提供的函数来训练一个决策树分类器来评估棒球运动员。但是,我想提前“预先指定”或“强制”一些拆分,基于我对专家思考方式的了解(无论如何都需要合并)。例如,我想根据击球率 > .300 强制进行拆分。

一个相关的问题是——我可以“预加载”一个先前训练过的决策树模型,然后在后续训练中“更新”它吗?还是决策树分类器每次运行时都需要重新学习所有规则?我在这里试图做的类比是迁移学习,但应用它是决策树。

【问题讨论】:

  • 对于第二个问题,答案大多是否定的。 DecisionTree 需要查看所有数据以确定最佳分割,因此迁移学习很难。

标签: scikit-learn decision-tree


【解决方案1】:

我预先指定拆分的方式是创建多个树。将玩家分成 2 组,即 avg > 0.3 和

这种方式的好处是你的代码非常明确。这也是测试这些专家规则的好方法 - 在没有规则的情况下构建一棵树,然后构建两棵树并进行比较。

缺点是,如果您有许多规则,这对于许多树、许多 if-then-else 维护以及可能训练每棵树的小样本会变得相当繁重。但也许所有的专家规则都不是最优的。

【讨论】: