Xgboost 在从 numpy 数组创建 dmatrix 时预测错误的结果

By simon at 2019-05-21 • 0人收藏 • 15人看过

我有一个经过训练的 XGBoost 模型,当我在测试期间从熊猫数据模型创建 XGBoost dmatrix 时,该模型可以很好地预测。 但是当我从 numpy 数组创建 xgboost dmatrix 时,模型总是预测错误的结果。

加载数据和模型

从 PIL import Image # load data img obj Image.open ('bob digit / 5 / aa0 x0 y2.bmp') data list ((255-np.array (img obj))。 (- 1) # load bst model bst model xgb. 升压器({'bthread': 2}) bst 模型。 负荷模型('bob 数字 / bob 数字分类。 型号)

预测正确,从数据流创建 dmatrix

东风日报。 Datatrame () col names ['f% d'% i for i in range (680)] df f.append (pd. Series (data data list,index col names) ,ignore index True) result1 bst model. 预测(xgb.DMatrix (df))打印(np.around (result1[0] ,decimals 2)

输出:

[0.000.000.000.001.000.000.000.000.00]

右预测,从 numpy 数组创建 dmatrix:

0(shape (1,680)) np arr [0]数据列表结果2 bst 模型。 预测(xgb.DMatrix (np arr))打印(np.around (result2[0] ,decimals 2)

输出:

[0.030.200.000.000.090.580.020.020.08]

输出结果显示,预测是完全不同的,我的代码有什么问题? 有人能帮我吗? 提前谢谢你。

登录后方可回帖

Loading...