python - 将 python xgboost dMatrix 转换为 numpy ndarray 或 pandas DataFrame

标签 python numpy pandas xgboost

我在他们的主 git 上关注一个 xgboost 示例,地址是 - https://github.com/dmlc/xgboost/blob/master/demo/guide-python/basic_walkthrough.py#L64

在这个例子中,他们正在读取直接放入 dMatrix 中的文件 -

dtrain = xgb.DMatrix('../data/agaricus.txt.train')
dtest = xgb.DMatrix('../data/agaricus.txt.test')

我查看了 dMatrix 代码,似乎没有办法简要查看数据的结构 - 正如我们通常在 pandas 中使用 pandas.DataFrame.head()

在 xgboost 文档中它提到我们可以将 numpy.ndarray 转换为 xgboost.dMatrix - 我们能以某种方式将它转换回来吗 - 从 xgboost.dMatrixnumpy.ndarray,或者 pandas dataFrame?我从他们的代码中看不到可能的方法 - 但也许有人知道方法?

或者有什么方法可以简单看一下xgboost.dMatrix中的数据是什么样的?

提前致谢, 霍华德

最佳答案

为了详细说明@jcaine 的回答,您可以使用 sklearn 加载文件,然后将它们转换为普通的 numpy 数组:

from sklearn.datasets import load_svmlight_file
train_data = load_svmlight_file('demo/data/agaricus.txt.train')
X = train_data[0].toarray()
y = train_data[1]

我还没有找到直接从 dMatrix 转换为 numpy 数组的方法。

关于python - 将 python xgboost dMatrix 转换为 numpy ndarray 或 pandas DataFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37309096/

相关文章:

python - Eigen 收缩 vs Numpy Dot

python - 从 pandas 的数据框中提取唯一值和计数

python - 对 python 中正则表达式匹配的唯一值进行排序

python - 使用python计算最大素因数时出现内存错误

Python处理字符串匹配

python - 写入 csv,每个项目位于单独的列中

python - 乔列斯基分解浮点误差

python - python中的最小二乘法

python - 如何修改 pandas DataFrame 中的单元格?

python - Pandas :如何使用 LocIndexer?