def tune_xgb_cv(params_untuned,scoring='roc_auc', n_jobs=1, cv=5):
# global dtrain_whole
global num_boost_round
global params_sklearn
# global x
# global y
for param_untuned in params_untuned:
print '========== ', param_untuned, ' =============='
print_params(params_sklearn)
estimator = xgb.XGBClassifier(**params_sklearn)
grid_search = GridSearchCV(estimator, param_grid=param_untuned, scoring=scoring, n_jobs=n_jobs, cv=cv, verbose=10)
grid_search.fit(x, y)
df0 = pd.DataFrame(grid_search.cv_results_)
df = pd.DataFrame(grid_search.cv_results_)[['params', 'mean_train_score', 'mean_test_score']]
# print df0
print df
print 'the best_params : ', grid_search.best_params_
print 'the best_score : ', grid_search.best_score_
# print grid_search.cv_results_
for k,v in grid_search.best_params_.items():
params_sklearn[k] = v
评论列表
文章目录