我是Python上的xgboost的新手,今天我尝试在这里学习教程:https://jessesw.com/XG-Boost/。
然后我使用我自己的数据尝试了xgboost,它在不使用网格搜索的情况下工作得很好。然后我按照教程做了网格搜索,但看起来不起作用。这是我的代码:
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 "$@"如有任何建议,我们将不胜感激!
发布于 2017-03-10 04:57:56
在我的例子中,原因是在colsample_by_tree中。当特征总数小于10时,该值为0.1。
失败的原因是,当树试图在具有n个样本和0个特征的数据集上学习时,出现了断言。
https://stackoverflow.com/questions/40048280
复制相似问题