gpt4 book ai didi

Scikit-Learn 自定义决策树叶子类型

转载 作者:行者123 更新时间:2023-12-04 21:37:35 24 4
gpt4 key购买 nike

使用 sci-kit learn 时是否可以定义自定义决策树的叶子类型?

我想使用更复杂的叶子来训练随机森林,例如包含线性回归量或高斯分布的叶子。这可能需要定义自定义叶类型并实现新的拆分标准。那可能吗?

谢谢你。

最佳答案

这是可以做到的,但不是很明智。

sklearn 中的决策树是用 Cython(C++ 和 Python 的混合体)编写的,并使用预先确定的 Cython 拆分标准列表。这使得 sklearn 树非常快,但不容易定制。

如果您用纯 Python 编写自己的叶子和拆分器,则必须将它们与 sklearn Cython 代码集成。这是可能的,但可能是漫长而艰难的。最后,你的代码会很慢,因为它会在每个节点从 C++ 调用 Python。因此,从头开始编写树构建算法会更便宜。

如果您非常认真地努力,您可以在 Cython 中编写叶子和拆分器,使其易于与 scikit-learn 集成,并且速度一样快。但是这个解决方案不会那么定制,因为您将无法从 Python 添加另一个叶模型。

如果你想快速尝试这样的模型,你可以在 Weka 中使用 M5 算法。

如果你问我的意见,我几乎不明白为什么你可能想要在随机森林的每一片叶子中添加更复杂的模型——它已经足够复杂了。

关于Scikit-Learn 自定义决策树叶子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34209485/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com