Scala实现Spark环境下的决策树模型工程

1、项目背景

在集团数据挖掘项目下,用户画像工程须要开发一些基础标签,如年龄、性别、婚姻情况、资产状况等标签。这些标签不能使用集团下的各个数据源来简单的处理后,获得结果做为最终评价结果,由于不一样数据源的数据质量良莠不齐,且各个数据源获得的结果置信度状况也不同。
所以咱们须要使用决策树+XGBoost等模型来综合预测用户标签。好比如下几种标签的决策树如图所示:segmentfault

年龄段:
image.png机器学习

性别:
image.png学习

婚姻情况:
image.png优化

2、模型抽象

一开始,我准备参照机器学习的PMML来实现决策树的抽象功能,可是看了一成天的PMML官方文档和一大堆PMML相关的文章后,我发现这种方案对我来实现起来太过复杂。机器学习的PMML文件大多都是模型代码自动生成的,不适合咱们这种场景(咱们是要本身实现把决策树转换为PMML文件)。若是想要咱们来写生成PMML文件的代码,那么须要精通PMML的各种标签订义,以及在spark环境下怎么加载该文件,以及如何保证加载的Model是咱们想要的逻辑,这里实现起来,后续工做可能很复杂。
没办法,我只能思考在咱们本身的需求背景下,怎么本身写代码来实现决策树模型的抽象功能。
它至少包括如下几个难点:spa

1、如何抽象决策树
2、如何设计相似PMML的配置文件
3、

image.png

3、功能实现

4、优化计算

5、项目总结

相关文章
相关标签/搜索