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、項目總結

相關文章
相關標籤/搜索