我必须做一个随机森林分类器来进行练习,并且该练习专门说明了参数,我引用了我的语言
in-bag percentage: 25% 50% 85%
Number of dimensions in one node: 10%, 50%, 80%
我使用 scikit-learn 作为分类器,但我不知道类中的哪些参数用于设置袋内百分比和维度数。
最佳答案
您可以使用max_features
参数定义维度数。像这样的东西:
rf = RandomForestClassifier(max_features=.1)
不幸的是,RandomForestClassifier
尚不支持子采样(即袋内百分比)。然而这个功能已经added在 sklearn 当前的开发分支中,因此将来会可用。
目前一个好的解决方法是使用 BaggingClassifier
:它有一个用于二次采样的 max_samples
参数,并且可以使用以下命令将其转换为 RandomForestClassifier
DecisionTreeClassifier
作为基础。
base = DecisionTreeClassifier(max_features=.1)
rf = BaggingClassifier(base_estimator=base, max_samples=.25)
请注意,BaggingClassifier
也有一个 max_features
参数,但其工作方式与随机森林不同。
关于python - 随机森林袋内和节点尺寸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58325781/