Xgboost DMatrix的初始化减少了功能号

时间:2016-06-29 13:49:31

标签: python python-2.7 pandas machine-learning xgboost

我想了解以下情况:

  1. 当我创建新的xgbost DMatrix

    xgX = xgb.DMatrix(X, label=Y, missing=np.nan)

  2. 基于具有64个功能的输入数据 X enter image description here

  3. 我获得了具有55个功能的新DMatrix {{3}}

  4. 这里的魔法在做什么?任何建议都会很棒!

1 个答案:

答案 0 :(得分:3)

看一看 xgboost issue #1223

在那里,khotilov发表评论:

  

CSR的问题在于,当你最后有完全稀疏的列时,你只能通过查看CSR的索引和指针来判断它们是否存在。

这样做的结果是,从DMatrixX创建XGDMatrixCreateFromCSR的函数不考虑末尾的空列,在您的情况下为9列。您可能需要检查一下您的情况,并确定X中是否确实有64个功能。