我在进行信用风险建模,数据中有大量特征。我使用Boruta包进行特征选择。这个包计算成本太高,我无法在完整的训练数据集上运行。我尝试的方法是取训练数据的一个子集(比如说20-30%),然后在该子集数据上运行Boruta包以获取重要特征。但当我使用随机森林来训练数据时,我必须使用完整的数据集。我的问题是,仅在训练数据的一部分上选择特征,然后在整个训练数据上构建模型,这样做对吗?
回答:
由于这个问题属于逻辑性质,我将发表我的看法。
- 我认为,20%的人口的一个随机样本就足够了
- 更进一步的做法是,取3-4个这样的随机集合,并从所有集合中取出显著变量的交集,这将是对上述方法的改进
- 使用多种方法进行特征选择(xgboost,一些caret特征选择方法)-> 对每种方法使用不同的随机样本,然后取出共同的显著特征