如何解决XGBoost 参数调优时间长
我正在尝试使用以下代码调整 XGBoost 参数以获得最佳模型。手术时间很长。没有办法缩短这个时间吗?
lr_list = [0.05,0.1,0.25,0.3,0.4,0.5,0.75,0.9,1]
n_estimators = [100,150,200,250,300]
max_depth = [1,2,3,5,6,7,10,12,14]
subsample =[0.5,0.8]
colsample_bytree = [0.3,0.7,1.0]
colsample_bylevel = [0.2,0.8,1.0]
gamma_list=[0,5]
for learning_rate in lr_list:
for estimators in n_estimators :
for depth in max_depth:
for cols in colsample_bytree:
for subsampler in subsample:
for gamma in gamma_list:
for bylevel in colsample_bylevel:
gb_clf = XGBClassifier(learning_rate=learning_rate,n_estimators = estimators,max_depth= depth,colsample_bytree= cols,subsample= subsampler,gamma=gamma,colsample_bylevel= bylevel)
gb_clf.fit(X_train,y_train)
if gb_clf.score(X_test,y_test)>0.74 and (gb_clf.score(X_train,y_train) - gb_clf.score(X_test,y_test)) < 0.05:
print("learning_rate: ",learning_rate)
print("n_estimators: ",estimators)
print("max_deptht: ",depth)
print("colsample_bytree: ",cols)
print("subsampler: ",subsampler)
print("gamma: ",gamma)
print("bylevel: ",bylevel)
print("Accuracy score (training): {0:.3f}".format(gb_clf.score(X_train,y_train)))
print("Accuracy score (validation): {0:.3f}".format(gb_clf.score(X_test,y_test)))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。