1. 程式人生 > >資料探勘過程中的問題集合

資料探勘過程中的問題集合

問題1:以bid(客戶一次消費行為id)進行建模,導致同一個客戶對應的label不同

解決:以cid(客戶id,人維度)進行建模,對label歸一化,統一處理為0或者1,相當於加權操作

問題2:訓練集和測試集中有重複資料,可能造成過擬合

解決:實際訓練時,對重複資料進行處理,如:剔除訓練集的重複資料,但在測試集中保留。
如果是參加演算法比賽,可以將重複資料找出後做成規則,增加預測準確度

問題3:lgb.train和LGBMClassifier.fit有什麼差別?

import lightgbm as lgb
from lightgbm import LGBMClassifier

lgb使用的是lightgbm原生的booster,需要用lgb.Dataset將X和Y集合化
LGBMClassifier是將lightgbm封裝為sklearn的API格式,可以使用sklearn的API,包括sklearn2pmml,方便部署

問題4:模型部署的方法有哪些?

  1. pmml,使用sklearn2pmml,mapper = DataFrameMapper(),pipeline = PMMLPipeline(),將特徵工程及模型存入檔案,Java端使用jpmml讀取檔案並進行預測
  2. Flask,由於Flask基於python,可以將訓練好的模型直接部署,無需跨語言
  3. xgb4j、lightgbm_predict4j,可在Java端讀取xgb/lgb生成的模型檔案,並進行預測