我使用sklearn.tree.DecisionTreeRegressor预测了一个具有两个独立变量的回归问题,即特征"X","Y“和预测的可靠变量"Z”。当我绘制树时,叶子似乎与分类树没有太大不同。结果不是每个叶上的函数,而是每个叶上的单个值,就像在分类中一样。
有人能解释一下,为什么这被称为回归,为什么它不同于分类树吗?
因为我似乎误解了sklearn类,有没有python的树包,它会进行“真正的”回归,并且在每个叶子上都有一个输出函数?对于X、Y和Z,这可能是每片叶子上的某种曲面。
发布于 2021-01-08 23:00:47
这是意料之中的。每个叶的输出不是一个函数,它是一个单值,表示该叶中所有实例的预测数值(因此是回归)输出。从这个意义上说,输出是一个“函数”,根据你要落在哪个叶子上,你会得到不同的值。分类树单词完全相同,但输出值表示一个类别概率,而不是Z的预测值。
换句话说,回归输出映射到任意值的函数,但没有规则要求该函数必须是连续的。对于树,这个功能更像是一个“阶梯”。
发布于 2021-01-11 22:15:25
对于任何正在搜索我正在搜索的内容的人:
有线性/对数/...带有决策树的回归模型,称为“模型树”。不幸的是没有包含在任何免费的python包中,但是在github上有一些实现,如果你google it.It也应该很快就可以在scikit-learn上使用了。模型树类似于M5算法。
https://stackoverflow.com/questions/65631318
复制相似问题