lgb.Dataset不能复用
本来是要复用oos的数据的,所以一开始把oos写在了循环外面,结果循环进行到第二次的时候就开始报错,遂把oos的生成写在了循环里面,就不报错了。
for i in range(len(smpl_mrkli)):
ins_size_sign = smpl_mrkli[i]
df_ins = lgb.Dataset(data=df_trn[df_trn[ins_size_sign]==1][model_feas].copy(),
label=df_trn[df_trn[ins_size_sign]==1][tgt].values,
feature_name=model_feas)
df_oos = lgb.Dataset(data=df_trn[df_trn['ins09']==0][model_feas].copy(),
label=df_trn[df_trn['ins09']==0][tgt].values,
feature_name=model_feas)