建模的要点80%在数据,我是真的理解到了,心痛、头疼☠
本篇主要是把xgb建模流程化,处理好数据,扔进去个把小时就搞定了,很easy。经常用于三方数据的测试,说起这个也是头大,外测返回数据一般分为评分、标签或者特征变量表。当返回众多特征时,可以简单的跑下模型,看看初期表现,再决定是否深入分析,不然众多厂商的数据,花时间各种弄完,发现并不适用,就白瞎了。
import xgboost as xgb
from tool_finally import cal_ks,kfold_xgb_lgbm
file=os.getcwd()
tool_finally 是自定义的函数,包含计算模型KS,K折交叉验证等,稍后会整理发出。
补充一下,测试集与训练集KS差4,5个百分点已经是上限了,哥们儿。
'''1.预跑初版模型'''
params={'base_score': 0.5, 'booster': 'gbtree', 'colsample_bylevel': 0.8,
'colsample_bynode': 1, 'colsample_bytree': 0.3, 'gamma': 13, 'learning_rate': 0.1,
'max_delta_step': 0,'max_depth': 3, 'min_child_weight': 5, 'missing': None, 'n_estimators': 190,
'n_jobs': 1, 'objective': 'binary:logistic', 'random_state': 0, 'reg_alpha': 18,
'reg_lambda': 1, 'scale_pos_weight': 1, 'seed': None, 'silent': False, 'subsample': 0.8, 'verbosity': 1}
model = xgb.XGBClassifier(**params)
model.fit(x_train,y_train)
predprob_train,predprob_test=cal_ks(model,x_train,y_train,x_test,y_test)#计算初版KS
初版的参数可以全是默认,也可以是多次建模的常用参数,怎么舒服怎么来呗。
2.调参,建议组合参数尽量不要超过