def predict_with_gbm(X, y, model):
"""
Args:
X:
y:
model:
Returns:
"""
assert model['model_name'] == 'GBM',\
'Wrong model name in model info: {}. Need GBM.'.format(model['model_name'])
testData = xgb.DMatrix(data=X, label=y.nMut.values, feature_names=model['feature_names'])
testData.set_base_margin(np.array(np.log(y.length+1/y.N) + np.log(y.N)))
kfold = model['kfold']
pred = np.zeros(y.shape[0])
for k in range(1, kfold+1):
model['model'][k].set_param(model['params']) # Bypass a bug of dumping without max_delta_step
pred += model['model'][k].predict(testData)
pred = pred / kfold
return pred
评论列表
文章目录