随机森林袋内和节点尺寸

Posted

技术标签:

【中文标题】随机森林袋内和节点尺寸【英文标题】:Random Forest in-bag and node dimensions 【发布时间】:2020-02-08 01:38:11 【问题描述】:

我必须为一个练习做一个随机森林分类器,这个练习专门说明了参数,我引用了我的语言

袋内百分比:25% 50% 85%

一个节点的维数:10%、50%、80%

我使用 scikit-learn 作为分类器,我不知道类中的哪些参数可以设置袋内百分比和维度数。

【问题讨论】:

【参考方案1】:

您可以使用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 参数,但其工作方式与随机森林不同。

【讨论】:

以上是关于随机森林袋内和节点尺寸的主要内容,如果未能解决你的问题,请参考以下文章

spark 随机森林 源码解析

spark 随机森林 源码解析

随机森林树生长算法

获取叶节点决策路径中的所有特征(随机森林)

如何使用不同尺寸的多个分类输入变量为随机森林回归模型?

机器学习-决策树和随机森林