我在他们的主要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矩阵中。
然后,您可以使用页面底部的示例对响应变量和特性进行分区。