風險大腦-支付風險識別天池大賽(三)快速建立模型(含調參思路)

        

這一節開始建立模型,在建模之前,我們先梳理一下思路:

 

思路:

 

1、首先選出只帶標籤的數據(有風險和無風險的),進行分析,建立一個 recall rate 風險交易召回率較高的二分類模型。

2、接着在無標籤的數據上應用此模型,打上標籤,並與之前有標籤的數據進行合併,形成最終完整訓練樣本。

3、將新的訓練樣本送入模型,得到最終模型。

4、應用測試數據,得到結果。

 

模型建立流程:

 

        因爲id無重複,說明id可能是交易id,而不是賬戶id,可以不送入模型訓練;同時交易時間也可以不送入訓練,故利用選擇屬性算子將其兩者過濾。之後將label列的角色設置爲標籤label,即告訴模型是否有風險的列爲你要關心的結果。接着因爲隨機森林要求輸入模型的數據是非空數值類型,故在之前的數據類型轉換基礎上還要做替換缺失值操作。

 

        在僅利用有標籤數據進行預測,隨機森林參數maxCategories=50,treeMaxDepth=7,treeNum=30時,結果如下,可以看到效果不逑行。

 

        可見當隨機森林中樹的深度比較小時,效果很差,原因主要是數據中特徵太多(接近300個),決策樹太淺會導致決策策略過於粗糙,故我們需要提高每顆決策樹的深度。

maxCategories=35,treeMaxDepth=6,treeNum=20:

 

maxCategories=35,treeMaxDepth=14,treeNum=23

 

maxCategories=35,treeMaxDepth=30,treeNum=23:

 

        可見單個決策樹越深,效果越好,爲了保證訓練的速度,現在保持樹深爲15,增大隨機森林中樹的個數,發現效果也有變好

maxCategories=32,treeMaxDepth=15,seed=7,treeNum=45:

 

maxCategories=32,treeMaxDepth=30,seed=7,treeNum=100:

 

 

    但樹的個樹一旦超過100,再增加樹的個數模型效果改善就不大了:

 

故最終參數調整如下:

maxCategories=32,treeMaxDepth=15,seed=7,treeNum=150:

 

        可見,只用帶標籤的數據,利用隨機森林訓練出的模型風險數據召回率並不是很高(接近0.5),因爲有些無標籤數據中也包含黑樣本特徵的重要信息。

        故接下來用以上訓練出的模型對無樣本數據打標籤。由於篇幅原因,在下一篇博客中介紹。

 

 

 

 

 

發佈了40 篇原創文章 · 獲贊 117 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章