我在他们的主 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.dMatrix
到 numpy.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/