【发布时间】:2020-07-19 18:49:11
【问题描述】:
我可能正在文档中查看它,但我想知道 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 建议 predict_proba。我没有实例化 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)
【问题讨论】:
-
您要求的结果不清楚; “中等 - 88%”是什么意思?
-
@desertnaut 更新了我的问题
标签: python machine-learning xgboost