目前我在 MATLAB 上使用 RF 工具箱进行二进制分类问题
数据集:50000 个样本和 250 多个特征
那么,每次拆分时树的数量和随机选择的特征应该是多少?任何其他参数会极大地影响结果吗?
目前我在 MATLAB 上使用 RF 工具箱进行二进制分类问题
数据集:50000 个样本和 250 多个特征
那么,每次拆分时树的数量和随机选择的特征应该是多少?任何其他参数会极大地影响结果吗?
树的数量越大越好。你几乎不能用这个参数超调,但当然上限取决于你想花在 RF 上的计算时间。
好主意是先制作一个长森林,然后在 OOB 精度收敛时查看(我希望它在 MATLAB 实现中可用)。
尝试过的属性数默认是属性总数的平方根,但通常森林对这个参数的值不是很敏感——事实上它很少被优化,特别是因为 RF 的随机方面可能会引入更大的变化。
选择大量的树,比如 100 棵。根据我在 Internet 上阅读的内容,选择随机选择的特征。然而,在原始论文最接近的整数。
我会说交叉验证通常是找到最佳参数的关键,但我对随机森林知之甚少。
树的数量越大越好:同意。
尝试属性的数量将取决于。如果您已经对信息在特征之间传播或不传播的方式有一些先验知识。如果信息由许多特征共享,则该参数的值越小,结果就会越好。另一方面,如果只有少数特征携带信息,则应使用更大的值。换句话说,有很多相关变量:较小的值更好,有很多不相关的变量:更大的值更好。