我在他们的主要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代码,似乎没有办法简单地看一下数据的结构——就像我们通常在熊猫中看到的那样
在xgboost文档中,它提到我们可以将pandas.DataFrame.head()转换为numpy.ndarray—我们可以以某种方式将它从xgboost.dMatrix转换回xgboost.dMatrix,或者可能转换成pandas数据帧吗?我从他们的代码中看不到可能的方法——但也许有人知道一种方法?
或者有没有一种方法可以简单地查看numpy.ndarray中的数据是什么样的?
事先谢谢,
霍华德

最佳答案

霍华德,
我相信xgb.dmatrix采用libsvm数据格式。您可以使用SciKit的Load_svmlight_file:http://scikit-learn.org/stable/modules/generated/sklearn.datasets.load_svmlight_file.html将此数据获取到稀疏的CSR矩阵中。
然后,您可以使用页面底部的示例对响应变量和特性进行分区。

08-24 16:07