【发布时间】:2021-03-17 20:01:49
【问题描述】:
在学习随机森林时,我遇到了以下几点:
- 原始数据集 D 包含 d 列和 n 行
- 每个自举数据集 Di 包含 d' 列和 m 行
- 降低列采样率 d'/d 以减少方差
- 降低行采样率 m/n 以减少方差
我想知道如何在 scikit learn 中做到这一点。
Q1.如果我将这两个比率都视为超参数,那么我该如何对它们进行随机搜索?比如说使用 RandomizedSearchedCV 之类的东西或任何其他 API?
Q2。我还检查了RandomForestClassifier。它有一个属性max_sample。在其描述中,文档说the number of samples to draw from X to train each base estimator。但是后来我很困惑为什么它使用max这个词?我们不能在任何地方指定固定的样本量吗?这个参数真的是行采样率吗?
Q3.“随机”列抽样有意义吗?还是 PCA 更有意义?另外,如果我必须进行“随机”列采样(例如,如果 PCA 不可能),我该怎么做?有没有相同的API?
【问题讨论】:
标签: python machine-learning scikit-learn random-forest