我试图了解以下情况:


当我创建新的xgbost DMatrix时

xgX = xgb.DMatrix(X, label=Y, missing=np.nan)
基于具有64个特征的输入数据X
python - Xgboost DMatrix的初始化减少了功能数量-LMLPHP
我得到了具有55个功能的新DMatrix
python - Xgboost DMatrix的初始化减少了功能数量-LMLPHP


魔术在这里做什么?任何建议将是巨大的!

最佳答案

看一眼
xgboost issue #1223

在那里,霍蒂洛夫发表评论:


  CSR的问题在于,当末尾的列完全稀疏时,仅通过查看CSR的索引和指针就无法确定它们的存在。


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

关于python - Xgboost DMatrix的初始化减少了功能数量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38101603/

10-11 10:21