python - 从 xgboost 中的 DMatrix 实例检索设计矩阵

标签 python xgboost

在 xgboost 中,我正在做类似的事情

import numpy as np
import xgboost as xgb
y = np.arange(10)
X = np.arange(20).reshape(10, 2)
dtrain = xgb.DMatrix(X, y, feature_names=["x1", "x2"])

如果我想从 dtrain 中提取 y 值作为数组,我可以这样做

y = dtrain.get_label()

有什么方法可以从 dtrain 中将 X 值提取为数组吗?

最佳答案

我不这么认为。使用 DMatrix dtrain,您可以看到:

dir(dtrain)

['__class__', '__del__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__qualname__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_feature_names', '_feature_types', '_init_from_csc', '_init_from_csr', '_init_from_npy2d', 'feature_names', 'feature_types', 'get_base_margin', 'get_float_info', 'get_label', 'get_uint_info', 'get_weight', 'handle', 'num_col', 'num_row', 'save_binary', 'set_base_margin', 'set_float_info', 'set_group', 'set_label', 'set_uint_info', 'set_weight', 'slice']

我能找到的最好的是

dtrain.feature_names

这将返回您的["x1", "x2"]。 dtrain.feature_types 有点帮助,您可以像 dtrain.slice(range(3)) 那样进行切片,但这仍然不是您想要的。

关于python - 从 xgboost 中的 DMatrix 实例检索设计矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36360881/

相关文章:

python - 无限循环使 Tkinter 崩溃

python - PyQt 中的 StandardContextMenu 国际化

r - XGBOOST-多类预测。预测矩阵是类别概率的集合。如何执行混淆矩阵

machine-learning - xgboost 的多输出回归

Python xgb.cv 使用多个评估指标

python - 使用XCom在类之间交换数据?

python - addinfourl 实例没有属性 'getcode' - Python 2.7.5

python - 在 Cython 中创建对象列表

python - 如何在 python 中执行 xgboost 的网格搜索?

python - 自定义指标的 Xgboost Early.stop.round 错误