#python #jupyter-notebook #google-colaboratory #xgboost #valueerror
#python #jupyter-ноутбук #google-colaboratory #xgboost #ошибка значения
Вопрос:
Я новичок в XGBoost и хочу использовать функцию train(), но когда я пытаюсь, я получаю следующую ошибку
146 else:
147 try:
148 main()
149 except KeyboardInterrupt:
150 print("KeyboardInterrupt, exiting")
/usr/local/lib/python3.6/dist-packages/xgboost/core.py in __init__(self, params, cache, model_file)
938 for d in cache:
939 if not isinstance(d, DMatrix):
940 raise TypeError('invalid cache item: {}'.format(type(d).__name__))
941 self._validate_features(d)
942
TypeError: invalid cache item: DataFrame
мой код
import xgboost as xgb
xgb_params = {
"objective": "multi:softmax",
"eta": 0.3,
"num_class": 62,
"max_depth": 10,
"nthread": 4,
"eval_metric": "merror",
"print.every.n": 1
#"silent": 1
}
clf = xgb.train(params=xgb_params, dtrain=df, num_boost_round=10)
Ответ №1:
XGB требует, чтобы вы превратили ваш фрейм данных в DMatrix для его обработки
d_train = xgb.DMatrix(X_train, label=y_train)
d_test = xgb.DMatrix(X_test, label=y_test)