def tune_classifier(estimator,params,X_train,Y_train,scoring='roc_auc',n_jobs=3,cv=5):
results = []
for k,values in params.items():
params_single = dict(k=values)
print '========== ',params_single,' =============='
grid_search = GridSearchCV(estimator,param_grid=params_single,scoring=scoring,n_jobs=n_jobs,cv=cv,verbose=5)
grid_search.fit(X_train,Y_train)
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_
results.append(grid_search.best_params_)
return results
评论列表
文章目录