标签: python python-2.7 pandas machine-learning xgboost
我想了解以下情况:
当我创建新的xgbost DMatrix
xgbost
xgX = xgb.DMatrix(X, label=Y, missing=np.nan)
基于具有64个功能的输入数据 X
我获得了具有55个功能的新DMatrix {{3}}
这里的魔法在做什么?任何建议都会很棒!
答案 0 :(得分:3)
看一看 xgboost issue #1223
在那里,khotilov发表评论:
CSR的问题在于,当你最后有完全稀疏的列时,你只能通过查看CSR的索引和指针来判断它们是否存在。
这样做的结果是,从DMatrix,X创建XGDMatrixCreateFromCSR的函数不考虑末尾的空列,在您的情况下为9列。您可能需要检查一下您的情况,并确定X中是否确实有64个功能。
DMatrix
X
XGDMatrixCreateFromCSR