使用xgboost训练多分类模型时遇到问题。
参数配置如下:
xgb_params = {
"eta": 0.1,
"seed": 0,
"colsample_bytree": 0.8,
"silent": 0,
"subsample": 1,
# "objective": "multi:softmax",
"num_class": 8477,
"max_depth": 6,
"min_child_weight": 1,
"eval_metric": "merror",
"lambda": 1,
}
watchlist = [(dtrain, "train"), (dtest, "test")]
model = xgb.train(xgb_params, dtrain, num_boost_round=100, evals=watchlist, obj="multi:softmax")
错误提示信息:
File "D:\Anaconda2\lib\site-packages\xgboost-0.4-py2.7.egg\xgboost\training.py", line 121, in train
bst.update(dtrain, i, obj)
File "D:\Anaconda2\lib\site-packages\xgboost-0.4-py2.7.egg\xgboost\core.py", line 696, in update
pred = self.predict(dtrain)
File "D:\Anaconda2\lib\site-packages\xgboost-0.4-py2.7.egg\xgboost\core.py", line 838, in predict
ctypes.byref(preds)))
File "D:\Anaconda2\lib\site-packages\xgboost-0.4-py2.7.egg\xgboost\core.py", line 97, in _check_call
raise XGBoostError(_LIB.XGBGetLastError())
xgboost.core.XGBoostError: bad allocation
运行时情况:
内存使用率在25%左右
类别设置太多了...