一個模型建立的完整流程


總結在工作中建立一個模型的完整流程。
 
主要工作:

(1)采集數據
(2)分析數據
(3)特征工程
(4)模型評估
(5)模型優化
 
采集數據:

這點沒太多可總結的,工作中保證采集的方案正確合理,量足夠。
首先要知道真實的數據量是多少,采集過少數據的分布就不是無偏估計。
采集的時間維度需要注意,好壞樣本的時間維度要一致。還要根據業務場景來確定訓練集與測試集的時間維度是否可以重合,對於風控來說【目前傾向於重合】
 
這里提一點采樣工程的必要:
(1)衍生屬性,放在這里做最合適
(2)前期加入基本業務邏輯,彌補字段表達能力不足,也可直接區分是真假缺失,進行數據補全,為后續特征工程提供便利
(3)全量統計,預處理的統計屬性計算十分必要
 
【SERIAL】這個方法並沒有用
【_RATE】足夠,無需加排序的統計,在特征工程階段可以根據數據分布進行合理的分段,按離散的數值處理,也可轉換成類別(高危與否)
 
分析數據:

(1)首先清楚每個字段的含義,這時候可以根據業務場景猜測一下哪些字段可能會有用、哪些字段處理后有用、哪些字段暫不考慮
(2)關注字段的缺失程度,先不要急着刪掉缺失過多的屬性,衍生成是否缺失也可能會有用
(3)關注數值型字段的統計信息,平均值、最大、最小、標准差等等,這些也是只能簡單的反應一點點的信息
(4)看數據分布圖是一個有效獲取信息的手段、通過分析圖中數據的分布,會對字段對於分類結果的影響做一些猜測
          兩種分布圖:1種是沒有判定類別的,可以看到整個樣本集該字段的數值\類別分布情況;1種是有判定類別的,可以看到具體某個值\類別下正負樣本的比例
          相對而言,第二種圖更能直觀反映出分類的問題,而第一種圖是幫助你認識數據的
(5)在觀察數據分布圖的過程中,可加入一些新的組合特征,或者對特征做些轉化,比如對於缺失嚴重的轉換成是否缺失,然后跳回第4步繼續觀察分布
          注意:獨熱變換是一種基本的處理手段,在此處只需要分析類別字段的分布,估計其價值即可,無需做獨熱變換再觀察其分布
 
特征工程:

(1)缺失字段處理手段
          1)占總數比例極高,直接舍棄
          2)類別型,可將缺失作為一個新的類別
          3)對於連續型缺失比例可接受的,可以進行分段,然后做獨熱變換,並加入缺失類別
          4)缺失較少,擬合數據,可根據其他屬性、也可以求平均
     具體情況具體分析
(2)剔除缺失字段過多的樣本
(3)剔除某些屬性明顯錯誤的樣本
(4)離散化,獨熱變換
(5)Scailing or Normalizing 
 
模型評估:

交叉驗證作模型選擇和調參的依據,來確定模型的類型和參數。交叉驗證是驗證過程,和測試不同,驗證要在Training Set上去做
 
用測試集測一下效果,看個基本情況(如果效果很好,那么恭喜不需要下面的步驟了)
 
通過學習曲線來判斷模型是否過擬合
     學習曲線有兩條,一條是訓練集上的得分,一條是交叉驗證集上的得分,兩條線的橫軸為樣本量,隨着樣本量增大,訓練集上的得分就會越來越低,而交叉驗證集上的得分會越來越高
     通過看兩條曲線的gap,以及它們所能達到的得分和你預估的得分賴判斷是否過擬合或者欠擬合
 
     如果gap很小,得分低於預估得分,那么說明欠擬合了
     如果gap很小,得分和預估得分相似,那么說明沒有過擬合和欠擬合
     如果gap很大,得分和預估得分相似,那么說明過擬合了
     如果gap很大,得分低於預估得分很多,那么說明數據集有問題
 
 
模型優化:

如果出現這兩種情況,那么需要回過頭做數據分析、特征工程、然后做模型評估
     過擬合需要做特征選擇、減少特征量、增大樣本量
     欠擬合需要增加特征量,對於欠擬合而言,需要挖掘新的特征,挖掘特征基於業務理解和錯分樣例的共性特征,為什么它們分錯了,之后調整原有特征活着新增特征
 
如何驗證新挖掘的特征是否有幫助,那么同樣需要通過交叉驗證來做
 
當這些工作都做好,就得到了最終想要的模型,接下來可以通過bagging、stacking、boosting的方式來構造組合分類器,增強效果
 
 
 
 
 
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM