我有一个数据集,由相当多的列(超过 1000)组成,相对于我目前正在运行随机森林回归的行数(370)。对于完成各种任务(例如特征选择和交叉验证)的最佳方式,我有点困惑。
目前,我正在执行以下操作:
拆分数据集 90/10,并使用默认超参数在所有特征上运行 RF
使用网格搜索微调超参数,然后使用这些调整运行“优化”模型
使用 5 折交叉验证来评估模型
获取特征重要性分数以指示哪些特征表现最佳
鉴于我拥有的大量功能以及我的模型相当低的性能,我想找到一个更智能的工作流程。
对我来说,使用特征重要性分数来过滤掉表现不佳的人似乎是明智的,但我会在交叉验证之前还是之后这样做?例如,在完成上述步骤并删除低于某个阈值的功能后,我是否会再次运行步骤 1-3?或者我会在参数调整之前使用特征选择吗?我只交叉验证一次吗?我应该整合其他明显的步骤吗?
我很欣赏这不是一门精确的科学,但如果有一些行业标准我错了,或者完全错过了,那么我将非常感谢您的反馈。