实际工作中,做好训练集/测试集,用训练集跑完一个模型之后,需要不断对该模型进行优化并提高auc,故需要调整模型参数或新增一些维度特征,这样每次都要重新制作训练集数据,工作量庞大。
这里介绍使用spark决策树C4.5提前进行特征选择,减少模型迭代工作量。
下图是原始操作流程,因为每次都会新挖掘出一些特征,需要重复将新挖掘特征与原始特征做成新的训练集,训练出新的模型并与原始model进行auc比对,开发周期性长,工作量大
决策树进行特征选择
使用spark决策树进行特征选择,可以找出原始model阈值特征
(这步需要不断尝试跟经验积累)
特征选择(降维)
1、将阈值特征与每次新挖掘的新特征(n维)组合成n+1维新特征组合
2、使用C4.5(决策树)计算出特征重要性,新增特征与阈值特征重要性进行比对
3、新挖掘特征大于阈值特征的保留(对模型有提高作用),小于的特征丢弃
spark代码
测试数据
链接:https://pan.baidu.com/s/1aKQdLOr2JO6hUaG1_HtJhg
提取码:ohjk
推荐阅读:
Spark特征工程
Spark推荐系统