python - 随机森林袋内和节点尺寸

标签 python machine-learning scikit-learn data-science random-forest

我必须做一个随机森林分类器来进行练习,并且该练习专门说明了参数,我引用了我的语言

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/

相关文章:

python - Pandas:如果连续编号,则按索引查找组

python - 构建训练 doc2vec 嵌入的学习曲线

python - 新版本的 MinMaxScaler 不再接受最大值和最小值的范围

python - 为什么 CalibratedClassifierCV 不如直接分类器?

python - 多标签二值化器 : float object not iterable

python - K-means 仅使用特定数据框列与 scikit-learn

python - 如何使用python在read_sql_query中插入变量

python - 在 python 中使用散列会加速字符串/字符比较吗?

python - 如何计算多类交叉验证的平均 ROC

python - 如何在不阻塞执行的情况下处理 Python 中的异常?