使用随机森林模型预测含缺失目标值样本的部件失效问题
使用随机森林预测部件失效的实践过程
最近我在处理一个部件失效预测的任务,用到的数据集包含4679条观测值、13个变量,核心目标就是判断部件是否会失效。不过数据里有个小问题:4679条数据中,有66条的目标变量为NA,这正好是我需要预测的对象——得判断这66个部件是否会失效。
我先把数据集拆分成了训练集和测试集,划分代码如下:
train <- Imputed_data[1:4613, ] test <- Imputed_data[4614:4679, ]
简单来说,前4613条作为训练集(这些样本的目标变量都是完整的,用来让模型学习特征和失效状态的关联规律),剩下的66条就是待预测的测试集。
接下来我打算基于训练集训练随机森林模型,之后用训练好的模型去预测测试集里那66个部件的状态。这里也想提几个需要注意的细节:
- 要确认训练集的目标变量确实没有缺失值,不然模型训练的基础就不扎实
- 虽然随机森林对特征尺度不敏感,但如果有冗余特征,提前做个特征筛选能让模型运行更高效
- 调参很关键,比如调整树的数量
ntree、每次分裂选取的特征数mtry,都能直接影响模型的预测效果 - 考虑到失效样本的占比大概率很低(毕竟待预测的只有66条,训练集里的失效样本估计也不多),评估模型的时候别只看准确率,混淆矩阵、F1-score或者AUC这些指标会更能反映模型的真实性能
内容的提问来源于stack exchange,提问作者Mikz
相关产品推荐
相关产品推荐

