task04金融风控 建模调参

1、对数据进行特征选择:

features=[f for f in data.columns if f not in ['id','issueDate','isDefault']]



# numercial_fea=list(data.select_dtypes(exclude=['object']).columns)
# cotegory_fea=list(filter(lambda x:x not in numercial_fea,list(data.columns)))
#
# print(numercial_fea)
# print(cotegory_fea)

train=data[data.isDefault.notnull()].reset_index(drop=True)
test=data[data.isDefault.isnull()].reset_index(drop=True)

2、对训练集、测试集划分:

x_train=train[features]
x_test=test[features]

y_train=train['isDefault']
y_test=test['isDefault']

3、选择LIGHTGBM模型

#数据格式转换
lgb_train=lgb.Dataset(x_train,y_train)

lgb_eval=lgb.Dataset(x_test,y_test,reference=lgb_train)

boost_round=30#迭代次数
early_stop_rounds=30#验证数据若在early_stop_rounds轮中未提高,则提前停止
params={ 'boosting_type':'gbdt',#设置提升类型
    'objective':'binary',#目标函数
     'metric':('l2','auc'),#评估函数
     'num_leaves':10,#叶子节点数
    'learning_rate':0.05,#学习速率
 'feature_fraction':0.9,#建树的特征选择比例
 'bagging_fraction':0.8,#建树的样本采样比例
         'bagging_freq':5,#k,意味着k次执行bagging
         'verbose':1#<0,显示致命的,=0,显示错误(警告),>0显示信息
}

#模型训练:加入提前停止功能
results={}

gbm=lgb.train(params,
              lgb_train,
              num_boost_round=boost_round,
              valid_sets=(lgb_eval,lgb_train),
              valid_names=('validate','train'),
              early_stopping_rounds=early_stop_rounds,
              evals_result=results
              )

#模型预测
y_pred=gbm.predict(X_test,num_iteration=gbm.best_iteration)
print(y_test)

print(y_pred)

设置参数,对模型进行评估,选择最优参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值