我试图了解以下情况:
当我创建新的xgbost
DMatrix时xgX = xgb.DMatrix(X, label=Y, missing=np.nan)
基于具有64个特征的输入数据X
我得到了具有55个功能的新DMatrix
魔术在这里做什么?任何建议将是巨大的!
最佳答案
看一眼
xgboost issue #1223
在那里,霍蒂洛夫发表评论:
CSR的问题在于,当末尾的列完全稀疏时,仅通过查看CSR的索引和指针就无法确定它们的存在。
这样的结果是,从DMatrix
,X
创建XGDMatrixCreateFromCSR
的函数没有考虑最后的空列,在您的情况下为9列。您可能需要检查一下情况,然后确定X
中是否确实有64个功能。
关于python - Xgboost DMatrix的初始化减少了功能数量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38101603/