You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过xgboost.train获取概率输出?对比XGBClassifier.predict_proba

用xgboost.train训练后获取概率输出的方法

嗨,我来帮你搞定这个问题~你已经选对了binary:logistic这个目标函数,它本身就是用来输出二分类正类概率的,所以用xgboost.train得到的Booster模型,直接调用predict()方法就能拿到你想要的概率啦。

具体来说,你可以按照下面的步骤扩展你的代码:

  1. 先把测试数据转换成DMatrix格式(和训练数据的处理方式一致):
# 假设你的测试特征是X_test
dtest = xgb.DMatrix(X_test)
  1. 调用训练好的modelXG的predict()方法,直接得到概率数组:
# 获取每个样本属于正类的概率
positive_class_probs = modelXG.predict(dtest)

这个positive_class_probs数组里的每个元素都是0到1之间的数值,对应样本被预测为正类的概率,和你用XGBClassifier.predict_proba()返回结果的第二列(正类概率)完全一致。

补充说明一下:如果是多分类场景,只要你设置了对应的目标函数(比如multi:softprob),predict()方法会返回形状为(样本数, 类别数)的数组,每个元素对应样本在对应类别上的概率。

内容的提问来源于stack exchange,提问作者Max

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:40:15