【发布时间】:2017-02-24 04:30:36
【问题描述】:
我是 Python 上的 xgboost 新手,今天我试图按照这里的教程进行操作:https://jessesw.com/XG-Boost/。
然后我使用自己的数据尝试了 xgboost,它在不使用 gridsearch 的情况下也能正常工作。然后我按照教程进行了网格搜索,但看起来它不起作用。这是我的代码:
cv_params = {'max_depth': [3, 5, 7], 'min_child_weight': [1, 3, 5]}
ind_params = {'learning_rate': 0.1, 'n_estimators': 500, 'seed': 0,
'subsample': 0.8, 'colsample_bytree': 0.8,
'objective': 'reg:linear'}
optimized_GBM = GridSearchCV(xgb.XGBClassifier(**ind_params),
cv_params,
cv=5, n_jobs=2, verbose=2)
optimized_GBM.fit(train_x, train['label'])
我得到了这个输出:
Fitting 5 folds for each of 9 candidates, totalling 45 fits
[CV] max_depth=3, min_child_weight=1................................
//anaconda/bin/python.app: line 3: 906 Killed: 9 //anaconda/python.app/Contents/MacOS/python "$@"
任何建议将不胜感激!
【问题讨论】:
-
你能在其他系统上检查一下吗?似乎 python 解释器崩溃了。
-
@IbraimGaniev 刚刚在另一台计算机上运行了相同的代码,但结果相同
-
已解决。由于这是一个回归问题,我们应该使用 XGBRegressor() 而不是 XGBClassifier()。之前在使用 R,所以没有意识到 Python 中的区别。
标签: python machine-learning scikit-learn xgboost grid-search