提问人:Tongwen Li 提问时间:10/31/2023 最后编辑:DataJanitorTongwen Li 更新时间:11/3/2023 访问量:49
scikit-learn 随机森林中单个树的节点值差异
Discrepancy in node values of a single tree in scikit-learn's random forest
问:
我使用该包构建了一个随机森林模型,并可视化了第一棵树。我不明白为什么有些节点的“价值”不等于平均值。scikit-learn
import numpy as np
from sklearn import tree
import matplotlib.pyplot as plt
from sklearn.ensemble import RandomForestRegressor
X = np.array(list(range(1, 11))).reshape(-1, 1)
y = np.array([4.50, 4.75, 4.91, 5.34, 5.80, 7.05, 7.90, 8.23, 8.70, 9.00])
rf = RandomForestRegressor(n_estimators=3, max_depth=2)
rf.fit(X, y)
fig = plt.figure(figsize=(6, 3), dpi=450)
tree.plot_tree(rf[0], filled=True, precision=6)
plt.show()
如下图所示,带圆圈的节点的“值”为 ,但我认为它应该是:。实际上,我已经检查了很多次,它返回了类似的结果。8.88
(8.70+9.00)/2=8.85
但是,使用函数来构建决策树,它就没有这个关系了。DecisionTreeRegressor
请解释令人困惑的结果。
答: 暂无答案
评论