Я, наверное, просматриваю это в документации, но я хотел знать, есть ли способ с XGBoost генерировать как прогноз, так и вероятность для результатов? В моем случае я пытаюсь предсказать мультиклассовый классификатор. было бы здорово, если бы я мог вернуть Medium - 88%.
- Классификатор = Средний
- Вероятность прогнозирования = 88%
Параметры
params = {
'max_depth': 3,
'objective': 'multi:softmax', # error evaluation for multiclass training
'num_class': 3,
'n_gpus': 0
}
Прогноз
pred = model.predict(D_test)
результаты
array([2., 2., 1., ..., 1., 2., 2.], dtype=float32)
Удобный для пользователя (кодировщик меток)
pred_int = pred.astype(int)
label_encoder.inverse_transform(pred_int[:5])
array(['Medium', 'Medium', 'Low', 'Low', 'Medium'], dtype=object)
РЕДАКТИРОВАТЬ: @Reveille предлагаем прогнозируемую_процедуру. Я не создаю экземпляр XGBClassifer (). Должна ли я быть? Как бы я изменил свой конвейер, чтобы использовать это, если так?
params = {
'max_depth': 3,
'objective': 'multi:softmax', # error evaluation for multiclass training
'num_class': 3,
'n_gpus': 0
}
steps = 20 # The number of training iterations
model = xgb.train(params, D_train, steps)