【发布时间】:2020-02-08 01:38:11
【问题描述】:
我必须为一个练习做一个随机森林分类器,这个练习专门说明了参数,我引用了我的语言
袋内百分比:25% 50% 85%
一个节点的维数:10%、50%、80%
我使用 scikit-learn 作为分类器,我不知道类中的哪些参数可以设置袋内百分比和维度数。
【问题讨论】:
标签: python machine-learning scikit-learn data-science random-forest
我必须为一个练习做一个随机森林分类器,这个练习专门说明了参数,我引用了我的语言
袋内百分比:25% 50% 85%
一个节点的维数:10%、50%、80%
我使用 scikit-learn 作为分类器,我不知道类中的哪些参数可以设置袋内百分比和维度数。
【问题讨论】:
标签: python machine-learning scikit-learn data-science random-forest
您可以使用max_features 参数定义维数。比如:
rf = RandomForestClassifier(max_features=.1)
不幸的是,RandomForestClassifier尚不支持二次抽样(即袋内百分比)。不过这个功能已经在 sklearn 的当前开发分支中为added,所以将来会提供。
目前一个好的解决方法是使用BaggingClassifier:它有一个用于二次采样的max_samples 参数,并且可以使用DecisionTreeClassifier 作为基础将其转换为RandomForestClassifier。
base = DecisionTreeClassifier(max_features=.1)
rf = BaggingClassifier(base_estimator=base, max_samples=.25)
请注意,BaggingClassifier 也有一个 max_features 参数,但其工作方式与随机森林不同。
【讨论】: