【问题标题】:Re-fit a decision tree to add a layer重新拟合决策树以添加层
【发布时间】:2018-08-25 09:45:54
【问题描述】:

我想知道是否有办法重用现有的 DecisionTreeClassifier 来添加另一个层。

我的情况如下:

  • 我有一些数据(数据数组X和相应的标签y)用于分类
  • 我在 (X,y) 数据上使用 max_depth=1 训练 DecisionTreeClassifier
  • 虽然我对我的分类器不满意:
    • 对相同的数据重新使用相同的分类器,在树的底部添加叶子,因此将深度增加 1(保持相同的树很重要,我只是在树的底部添加一层叶子底部,我不会使用 max_depth=n+1 重新训练新的决策树)

有没有办法用 scikit-learn 做到这一点?或者使用其他分类器,比如神经网络,你可以用比如说 10 个 epoch 训练你的神经网络,然后如果它不够准确,再用另外 10 个 epoch 重新训练它,等等?

【问题讨论】:

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


    【解决方案1】:

    简答:

    ,你不能。

    长答案:

    DecisionTreeClassifier 并不意味着要再次安装。 正如您在第 350 行的源代码 tree.py 中看到的,内部树是使用继承自 TreeBuilder 的某个类构建的。这个类来自cpython文件_tree.py。你仍然可以尝试通过复制/粘贴它的代码块来调整这个类……我不推荐它,因为它很痛苦,而且根本不可能工作。

    希望您能找到(或找到)另一种解决方案并与我们分享:)

    【讨论】:

      猜你喜欢
      • 2018-12-01
      • 2021-02-06
      • 2014-07-19
      • 2019-09-19
      • 2018-04-22
      • 2021-03-07
      • 2018-04-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多