X 和 y 是否必须在随机森林中随机排序?

Do X and y have to be randomly ordered in Random Forest?

这里是sklearn.ensemble.RandomForestClassifier.fit()的帮助。不清楚 X 和 y 按标签排序时是否会出现问题。我的初步测试表明,X 和 y 是否排序并不重要。

有知道实现的人可以确认一下我的结论是否正确吗?

Help on class RandomForestClassifier in module sklearn.ensemble._forest:

class RandomForestClassifier(ForestClassifier)
...
 |      Build a forest of trees from the training set (X, y).
 |
 |      Parameters
 |      ----------
 |      X : {array-like, sparse matrix} of shape (n_samples, n_features)
 |          The training input samples. Internally, its dtype will be converted
 |          to ``dtype=np.float32``. If a sparse matrix is provided, it will be
 |          converted into a sparse ``csc_matrix``.
 |
 |      y : array-like of shape (n_samples,) or (n_samples, n_outputs)
 |          The target values (class labels in classification, real numbers in
 |          regression).

RandomForestClassifier的情况下无所谓。

随机森林是 执行多数表决的弱学习器的集合

由于我们需要不同的树根据不同的特征做出决定,该算法正在使用 BootstrappingRandomForestClassifier 中的参数 bootstrap=True)执行 有放回的随机抽样。除了 bootstrap 个样本之外,我们还绘制了随机的特征子集来训练单个树

Bootsrapping 是随机森林必不可少的。没有它,所有的树都会或多或少地相似并基于相同的特征。这将破坏多数投票的全部目的。

因此我们可以说样本的顺序无关紧要。然而,正如 desertnaut 在他们的 中所说,最好将数据打乱顺序以避免其他潜在问题。

注意:有关该主题的 Statquest videos 非常适合深入了解它的工作原理。