def sub(flags):
X,y,Xt,_,_ = build_feature(flags)
if '4c' in flags.task:
y = np.argmax(to4c(onehot_encode(y)),axis=1)
print(X.shape,Xt.shape,y.shape)
params['num_class'] = np.max(y)+1
params['num_round'] = 90
params["early_stopping_rounds"] = None
params['verbose_eval'] = 100
yp = np.zeros([Xt.shape[0],9])
m = 5 if 'bag' in flags.task else 1
for i in range(m):
params['seed'] = i*9
model = xgb_model(params)
model.fit(X,y,print_fscore=False)
tmp = model.predict(Xt)
print(i,np.mean(tmp))
yp += tmp
yp/=m
s = pd.DataFrame(yp,columns=["class%d"%i for i in range(1,yp.shape[1]+1)])
s['ID'] = 1+np.arange(yp.shape[0])
s.to_csv(flags.pred_path,index=False)
评论列表
文章目录