如何在python中执行xgboost的网格搜索?
我有一些分类问题,我想使用xgboost。 我有以下资料:如何在python中执行xgboost的网格搜索?,python,machine-learning,scikit-learn,xgboost,grid-search,Python,Machine Learning,Scikit Learn,Xgboost,Grid Search,我有一些分类问题,我想使用xgboost。 我有以下资料: alg = xgb.XGBClassifier(objective='binary:logistic') 我正在测试它的日志丢失: cross_validation.cross_val_scoree(alg, train_cluster_x, train_cluster_y, cv=5, scoring='log_loss') 我正在尝试以下方式执行网格搜索: clf = GridSearchCV(alg,{'max_depth':
alg = xgb.XGBClassifier(objective='binary:logistic')
我正在测试它的日志丢失:
cross_validation.cross_val_scoree(alg, train_cluster_x, train_cluster_y, cv=5, scoring='log_loss')
我正在尝试以下方式执行网格搜索:
clf = GridSearchCV(alg,{'max_depth': [2,4,6],
'n_estimators': [50,100,200]},
verbose=1,
error_score='log_loss')
clf.fit(train_cluster_x,train_cluster_y)
clf.best_score_, clf.best_params_
但是我得到了不同的结果。
作为交叉验证,网格搜索现在是否正在计算日志损失?网格搜索设置中出现差异。错误分数表示引发错误时的值。您应该将评分参数指定为“neg_log_loss”
clf = GridSearchCV(alg,{'max_depth': [2,4,6],
'n_estimators': [50,100,200]},
verbose=1,
scoring='neg_log_loss')
clf.fit(train_cluster_x,train_cluster_y)
clf.best_score_, clf.best_params_
当你说你得到不同的结果时,你的意思是每次你重新运行脚本时,你得到不同的最佳分数和最佳参数吗?如果是的话,这是很常见的。每次重新运行时,数据的分割方式都不同,因此最佳模型的细节通常会略有不同。如果您能举例说明您收到的输出,让我们知道您的期望和您看到的结果,这会有所帮助。