2016-06-27 8 views
2

私は非常に単純な例を実行しようとしていますが、XGBoostはいくつかのデータを取り、バイナリ分類を行います。XGBoost予測出力はバイナリではありませんか?

import numpy as np 
import xgboost as xgb 

data = np.random.rand(7,10) 
label = np.random.randint(2,size=7) 
#print data 
#print label 

dtrain = 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] 

だから、この出力が何を意味するのでしょうか?:documentationはxgboostは、「ロジスティックバイナリが」ときの確率を出力することを言いますかそれは私が1を得る31%のチャンスを持っていることを意味しますか?

どうすれば0,1に変換できますか?

このquestionは関連しているようですが、私はそれから何か役に立つものは得られません。

答えて

0

はい、それは1を得る確率です。バイナリ値として取得するには、それが0.5より大きいか小さいかをチェックしてください。

関連する問題