我正在尝试使用scinkit-learn的RandomForestTreeRegressor的apply函数来获取某些数据的每个学习树的叶索引。我已经指定了max_depth为3,这应该导致最大叶子索引为4,但实际上我在40s中得到的数字更高。对此有任何解释吗?
我想我的数据可能有些问题,所以我在scikit的页面上尝试了相同的示例代码并发现了同样的问题。如果要重现它,可以在此处编辑源代码:http://bit.ly/1GHz1iG
答案 0 :(得分:1)
索引实际上遍布树中的所有节点,而不仅仅是叶子。最多有2 ** max_depth
个叶子(在你的情况下会是8个,不知道你为什么期望4个)。但是,由于所有节点都已编号,因此数字可以达到2 ** (max_depth + 1) - 1