编辑scikit-learn decisionTree

时间:2016-10-14 00:43:55

标签: python scikit-learn

我想编辑sklearn decisionTree, 例如改变条件或削减节点/叶子等。

但似乎没有这样做的功能,如果我可以导出到文件,编辑它以导入。

如何编辑decisionTree?

环境:

  • Windows10
  • python3.3
  • sklearn 0.17.1

2 个答案:

答案 0 :(得分:4)

即使文档说splitter的{​​{1}} kwarg是一个字符串,你也可以给它一个类。证据:

https://github.com/scikit-learn/scikit-learn/blob/412996f/sklearn/tree/tree.py#L353-L360

看起来您可以继承其中一个Splitter类:

https://github.com/scikit-learn/scikit-learn/blob/0.17.X/sklearn/tree/_splitter.pyx

并做:

DecisionTreeClassifier

答案 1 :(得分:1)

如果您正在考虑编辑模型,我认为这不是一种简单的方法。有关导出(而非可视化)规则集 [1] [2]的讨论,但未导入规则集。但是,当它适合最佳解决方案时,手动尝试编辑规则集的重点是什么?如果你真的知道条件,那么你可以简单地使用一组嵌套的if-else条件而不使用scikit-learn。

如果您需要更改拆分器的Impl,可以按照@zemekeneng的建议进行操作。