决策树回归器的结果如何连续?

时间:2021-01-08 14:57:04

标签: python scikit-learn regression decision-tree

我使用 sklearn.tree.DecisionTreeRegressor 来预测具有两个独立变量的回归问题,即特征“X”、“Y”和预测的可靠变量“Z”。 当我绘制树时,叶子似乎与分类树没有太大区别。结果不是每个叶子上的函数,而是每个叶子上的单个值,就像在分类中一样。

有人可以解释一下,为什么这被称为回归以及为什么它与分类树不同?

因为我似乎误解了 sklearn 类,是否有用于 python 的树包,它执行“真正的”回归并在每个叶子上都有一个输出函数?对于 X、Y 和 Z,这可能是每片叶子上的某种表面。

2 个答案:

答案 0 :(得分:1)

这是意料之中的。每个叶子的输出不是一个函数,它是一个单一的值,代表该叶子中所有实例的预测数字(因此回归)输出。输出是一个“函数”,因为你会得到不同的值,这取决于你将落在哪片叶子上。分类树的词完全相同,但输出值代表的是类概率,而不是 Z 的预测值。

换句话说,回归输出映射到任意值的函数,但没有规定这个函数必须是连续的。对于树木,该功能更像是一个“阶梯”。

答案 1 :(得分:0)

对于任何正在搜索我正在搜索的内容的人:

有线性/对数/...回归模型与决策树的组合,称为“模型树”。不幸的是,没有包含在任何免费的 python 包中,但在 github 上有一些实现,如果你谷歌它。它也应该很快就会与 scikit-learn 一起提供。 模型树类似于 M5 算法。

相关问题