python – XGBoost预测输出不是二进制?

python – XGBoost预测输出不是二进制?,第1张

概述我正在尝试运行一个非常简单的示例,其中XGBoost获取一些数据并进行二进制分类. documentation表示xgboost在使用“binary:logistic”时输出概率 import numpy as npimport xgboost as xgbdata = np.random.rand(7,10)label = np.random.randint(2,size=7)#pri @H_301_6@ 我正在尝试运行一个非常简单的示例,其中XGBoost获取一些数据并进行二进制分类. documentation表示xgboost在使用“binary:logistic”时输出概率

import numpy as npimport xgboost as xgbdata = np.random.rand(7,10)label = np.random.randint(2,size=7)#print data#print labeldtrain = xgb.DMatrix(data,label=label)param = {'bst:max_depth':2,'bst:eta':1,'silent':1,'objective':'binary:logistic' }plst = param.items()bst = xgb.train(plst,dtrain,)dtest= xgb.DMatrix(np.random.rand(4,10))ypred = bst.predict(dtest)print ypred

输出是:

[ 0.31350434  0.31350434  0.31350434  0.31350434]

那么这个输出是什么意思呢?这是否意味着我有31%的机会获得1分?

我如何将其翻译为0,1?

这个question似乎有关系,但我无法从中获得任何有用的东西.

解决方法 要将概率转换为结果或类(0或1),您可以使用阈值,如上所述(它不一定必须是0.5).问题在于找到一个决策边界,你可以看到一个很好的高级解释 here. 总结

以上是内存溢出为你收集整理的python – XGBoost预测输出不是二进制?全部内容,希望文章能够帮你解决python – XGBoost预测输出不是二进制?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1197647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存