我正在做一个随机森林实现(用于分类),我对文献中提到的树生长算法有一些疑问。
在培训决策树时,有两个标准可以停止种植树木:
一个。当没有剩余功能可以拆分节点时停止
湾当节点中的所有样本属于同一个类时停止。
基于此,
1。考虑在森林中种植一棵树。在拆分树的节点时,我随机选择 M 总功能的 m ,然后从这些 m 功能我发现一个功能获得最大信息的功能。在我找到这个功能后,比如 f ,我应该从功能列表中删除此功能,然后再继续查看节点的子节点吗?如果我不删除此功能,则可能会再次从树中选择此功能
如果我实现算法而不删除在节点处选择的特征,那么停止生长树的唯一方法是树的叶子变得“纯净”。当我这样做时,我在Python中遇到了“最大递归深度”错误,因为树在之前无法达到那种“纯粹”状态。
甚至那些由布莱曼写的RF文献也说这棵树应该长到最大。这是什么意思?
2. 在节点拆分中,在选择要拆分的最佳特征(通过信息增益)后,应该拆分的阈值是多少?一种方法是没有阈值,为特征的每个唯一值创建一个子节点;但我也有连续值的功能,所以这意味着每个样本创建一个子节点!
答案 0 :(得分:1)
Q1
Q2