常用机器学习算法训练预测模型的常规流程

以XGBoost算法为例,主要操作步骤如下:

1. 读取集群目录数据
2. 批量重新命名字段名称
3. 统计各列缺失值个数
4. 对缺失值进行填充(数值型变量采用中位数、分类变量采用众数)
5. 过滤掉异常记录
6. 过滤掉缺失值过多的列
7. 对分类型变量进行编码,将label列转换为0/1类型
8. 批量对分类变量先进行StringIndexer操作,再批量进行OneHotEncoderEstimator操作
9. 使用VectorAssembler拼接字段
10. 创建XGBoost
11. 设置pipeline模式: val pipeline = new Pipeline().setStages(indexers ++ encoders ++ Array(vectorAssembler, xgb))
12. 创建evaluator,采用ROC
13. 创建XGBoost paramater grid
14. 构造cv
15. 切分trainingData、testData,设定seed便于数据复现
16. 训练模型: val xgbModel = cv.fit(trainingData)
17. 测试模型: val results = xgbModel.transform(testData)
18. 保存BestModel: val bestPipelineModel = xgbModel.bestModel.asInstanceOf[PipelineModel]
19. 创建一个测试数据集不含label字段,但是需要包含对应的user_id
20. 读取创建的数据集进行预测


注:在进行特征工程之前需要单独封装一个函数,用于数据预处理,也便于后续进行模型预测,主要是特征工程暂时无法操作的数据预处理步骤。

转载于:https://my.oschina.net/kyo4321/blog/3009751

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值