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预测输出不是二进制?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)