我正在处理一个包含大约 150,000 个观测值和 50 个特征的数据集,最终模型使用 SVM。为了减少功能数量,我决定考虑使用 RF,这样 SVM 优化不会花费太长时间。我目前在 Matlab 中使用TreeBagger实现并且有几个问题。
- 在调查特征重要性时,是否应该调整 RF 以获得最高的 CV 性能?模型的准确性是否会影响报告的预测变量重要性的准确性?
- 处理重要性被低估的两个相关特征之一的最佳方法是什么?这可以通过多次训练 RF 并平均特征排名来消除吗?
- 似乎没有任何方法可以在 TreeBagger 中手动选择拆分标准,我也找不到任何关于默认值的文档。有人知道吗?如果没有,假设它使用 Gini 是否安全?
- TreeBagger 的特征重要性与 Matlab 的fitensemble生成的特征重要性相比如何?这支持 bagging 和不同的 boosting 算法,以及不同的拆分标准。但是,据我所知,这些不会调用 Breiman 的 RF 算法。当指定要采样的特征数量时,唯一的 Matlab 函数是 TreeBagger。如果我错了,请纠正我。就目前而言,由于更多的选择和更好的文档,fitensemble 看起来更具吸引力。