xgboost
函数
预测

这些函数用于运行预测和解释算法。更多...

预测的协作图

函数

int XGBoosterPredict (BoosterHandle handle, DMatrixHandle dmat, int option_mask, unsigned ntree_limit, int training, bst_ulong *out_len, const float **out_result)
 基于dmat进行预测(已弃用,请改用XGBoosterPredictFromDMatrix更多...
 
int XGBoosterPredictFromDMatrix (BoosterHandle handle, DMatrixHandle dmat, char const *config, bst_ulong const **out_shape, bst_ulong *out_dim, float const **out_result)
 从DMatrix进行预测,取代XGBoosterPredict更多...
 
int XGBoosterPredictFromDense (BoosterHandle handle, char const *values, char const *config, DMatrixHandle m, bst_ulong const **out_shape, bst_ulong *out_dim, const float **out_result)
 从CPU密集矩阵进行就地预测。更多...
 
int XGBoosterPredictFromColumnar (BoosterHandle handle, char const *values, char const *config, DMatrixHandle m, bst_ulong const **out_shape, bst_ulong *out_dim, const float **out_result)
 从CPU列式数据(表)进行就地预测。更多...
 
int XGBoosterPredictFromCSR (BoosterHandle handle, char const *indptr, char const *indices, char const *values, bst_ulong ncol, char const *config, DMatrixHandle m, bst_ulong const **out_shape, bst_ulong *out_dim, const float **out_result)
 从CPU CSR矩阵进行就地预测。更多...
 
int XGBoosterPredictFromCudaArray (BoosterHandle handle, char const *values, char const *config, DMatrixHandle proxy, bst_ulong const **out_shape, bst_ulong *out_dim, const float **out_result)
 从CUDA密集矩阵(Python中的cupy)进行就地预测。更多...
 
int XGBoosterPredictFromCudaColumnar (BoosterHandle handle, char const *data, char const *config, DMatrixHandle proxy, bst_ulong const **out_shape, bst_ulong *out_dim, const float **out_result)
 从CUDA密集数据帧(Python中的cuDF)进行就地预测。更多...
 

详细描述

这些函数用于运行预测和解释算法。

函数文档

◆ XGBoosterPredict()

int XGBoosterPredict ( BoosterHandle  handle,
DMatrixHandle  dmat,
int  option_mask,
unsigned  ntree_limit,
int  training,
bst_ulong out_len,
const float **  out_result 
)

基于dmat进行预测(已弃用,请改用XGBoosterPredictFromDMatrix

已废弃
另请参阅
XGBoosterPredictFromDMatrix()
参数
handlehandle
dmat数据矩阵
option_mask预测中使用的选项位掩码,可能的值 0:普通预测 1:输出边距而非转换值 2:输出树的叶索引而非叶值,请注意叶索引在每棵树中是唯一的 4:输出特征对个体预测的贡献
ntree_limit限制用于预测的树的数量,这仅在参数设置为0时对提升树有效,我们将使用所有树
training预测函数是否作为训练循环的一部分使用。预测可以在两种情况下运行
  1. 给定数据矩阵X,从模型中获取预测y_pred。
  2. 获取用于计算梯度的预测。例如,DART增强器在训练期间执行dropout,由于丢弃的树,预测结果将与正常推理步骤获得的结果不同。第一种情况将training设置为false。第二种情况将training设置为true。第二种情况适用于您正在定义自定义目标函数时。
out_len用于存储返回结果的长度
out_result用于设置指向数组的指针
返回
成功返回 0,失败返回 -1

◆ XGBoosterPredictFromColumnar()

int XGBoosterPredictFromColumnar ( BoosterHandle  handle,
char const *  values,
char const *  config,
DMatrixHandle  m,
bst_ulong const **  out_shape,
bst_ulong out_dim,
const float **  out_result 
)

从 CPU 列式数据(表)进行就地预测。

注意
如果增强器配置为在CUDA设备上运行,xgboost将退回到使用DMatrix运行预测,并发出性能警告。
参数
handle增强器句柄。
数据有关更多信息,请参阅XGDMatrixCreateFromColumnar
config有关更多信息,请参阅XGBoosterPredictFromDMatrix。就地预测的其他字段是
  • "missing": float
m一个可选的(如果不可用则为NULL)代理DMatrix实例,用于存储元信息。
out_shape有关更多信息,请参阅XGBoosterPredictFromDMatrix
out_dim有关更多信息,请参阅XGBoosterPredictFromDMatrix
out_result有关更多信息,请参阅XGBoosterPredictFromDMatrix
返回
成功返回 0,失败返回 -1

◆ XGBoosterPredictFromCSR()

int XGBoosterPredictFromCSR ( BoosterHandle  handle,
char const *  indptr,
char const *  indices,
char const *  values,
bst_ulong  ncol,
char const *  config,
DMatrixHandle  m,
bst_ulong const **  out_shape,
bst_ulong out_dim,
const float **  out_result 
)

从 CPU CSR 矩阵进行就地预测。

注意
如果增强器配置为在CUDA设备上运行,xgboost将退回到使用DMatrix运行预测,并发出性能警告。
参数
handle增强器句柄。
indptrJSON编码的CSR中行指针的array_interface
indicesJSON编码的CSR中列索引的array_interface
valuesJSON编码的CSR中值的array_interface
ncol数据中的特征数量。
config有关更多信息,请参阅XGBoosterPredictFromDMatrix。就地预测的其他字段是
  • "missing": float
m一个可选的(如果不可用则为NULL)代理DMatrix实例,用于存储元信息。
out_shape有关更多信息,请参阅XGBoosterPredictFromDMatrix
out_dim有关更多信息,请参阅XGBoosterPredictFromDMatrix
out_result有关更多信息,请参阅XGBoosterPredictFromDMatrix
返回
成功返回 0,失败返回 -1

◆ XGBoosterPredictFromCudaArray()

int XGBoosterPredictFromCudaArray ( BoosterHandle  handle,
char const *  values,
char const *  config,
DMatrixHandle  proxy,
bst_ulong const **  out_shape,
bst_ulong out_dim,
const float **  out_result 
)

从 CUDA 稠密矩阵(Python 中的 cupy)进行就地预测。

注意
如果增强器配置为在CPU上运行,xgboost将退回到使用DMatrix运行预测,并发出性能警告。
参数
handle增强器句柄
valuesJSON编码的cuda_array_interface值。
config有关更多信息,请参阅XGBoosterPredictFromDMatrix。就地预测的其他字段是
  • "missing": float
proxy一个可选的(如果不可用则为NULL)代理DMatrix实例,用于存储元信息。
out_shape有关更多信息,请参阅XGBoosterPredictFromDMatrix
out_dim有关更多信息,请参阅XGBoosterPredictFromDMatrix
out_result有关更多信息,请参阅XGBoosterPredictFromDMatrix
返回
成功返回 0,失败返回 -1

◆ XGBoosterPredictFromCudaColumnar()

int XGBoosterPredictFromCudaColumnar ( BoosterHandle  handle,
char const *  数据,
char const *  config,
DMatrixHandle  proxy,
bst_ulong const **  out_shape,
bst_ulong out_dim,
const float **  out_result 
)

从 CUDA 稠密数据帧(Python 中的 cuDF)进行就地预测。

注意
如果增强器配置为在CPU上运行,xgboost将退回到使用DMatrix运行预测,并发出性能警告。
参数
handle增强器句柄
数据有关更多信息,请参阅XGDMatrixCreateFromColumnar
config有关更多信息,请参阅XGBoosterPredictFromDMatrix。就地预测的其他字段是
  • "missing": float
proxy一个可选的(如果不可用则为NULL)代理DMatrix实例,用于存储元信息。
out_shape有关更多信息,请参阅XGBoosterPredictFromDMatrix
out_dim有关更多信息,请参阅XGBoosterPredictFromDMatrix
out_result有关更多信息,请参阅XGBoosterPredictFromDMatrix
返回
成功返回 0,失败返回 -1

◆ XGBoosterPredictFromDense()

int XGBoosterPredictFromDense ( BoosterHandle  handle,
char const *  values,
char const *  config,
DMatrixHandle  m,
bst_ulong const **  out_shape,
bst_ulong out_dim,
const float **  out_result 
)

从CPU稠密矩阵进行就地预测。

注意
如果增强器配置为在CUDA设备上运行,xgboost将退回到使用DMatrix运行预测,并发出性能警告。
参数
handle增强器句柄。
valuesJSON编码的array_interface值。
config有关更多信息,请参阅XGBoosterPredictFromDMatrix。就地预测的其他字段是
  • "missing": float
m一个可选的(如果不可用则为NULL)代理DMatrix实例,用于存储元信息。
out_shape有关更多信息,请参阅XGBoosterPredictFromDMatrix
out_dim有关更多信息,请参阅XGBoosterPredictFromDMatrix
out_result有关更多信息,请参阅XGBoosterPredictFromDMatrix
返回
成功返回 0,失败返回 -1
示例
inference.c.

◆ XGBoosterPredictFromDMatrix()

int XGBoosterPredictFromDMatrix ( BoosterHandle  handle,
DMatrixHandle  dmat,
char const *  config,
bst_ulong const **  out_shape,
bst_ulong out_dim,
float const **  out_result 
)

从DMatrix进行预测,取代XGBoosterPredict

参数
handle增强器句柄
dmatDMatrix句柄
configJSON格式的字符串编码预测配置,JSON对象中包含以下可用字段

"type": [0, 6]

  • 0: 普通预测
  • 1: 输出边距
  • 2: 预测贡献
  • 3: 预测近似贡献
  • 4: 预测特征交互
  • 5: 预测近似特征交互
  • 6: 预测叶 "training": bool 预测函数是否作为训练循环的一部分使用。不用于就地预测

预测可以在两种情况下运行

  1. 给定数据矩阵X,从模型中获取预测y_pred。
  2. 获取用于计算梯度的预测。例如,DART增强器在训练期间执行dropout,由于丢弃的树,预测结果将与正常推理步骤获得的结果不同。第一种情况将training设置为false。第二种情况将training设置为true。第二种情况适用于您正在定义自定义目标函数时。"iteration_begin": int 预测的起始迭代。"iteration_end": int 预测的结束迭代。设置为0将成为树模型的大小(所有树)。"strict_shape": bool 是否应使用更严格的规则重塑输出。如果设置为true,normal/margin/contrib/interaction预测将输出一致的形状,而不管是否使用多类模型,并且叶预测将输出4维数组,表示:(n_samples,n_iterations,n_classes,n_trees_in_forest)

运行具有严格输出形状的普通预测的JSON输入示例,软概率为2维,其他为1维。

{
"type": 0,
"training": false,
"iteration_begin": 0,
"iteration_end": 0,
"strict_shape": true
}
参数
out_shape输出预测的形状(使用前复制)。
out_dim输出预测的维度。
out_result存储预测值的缓冲区(使用前复制)。
返回
成功返回 0,失败返回 -1
另请参阅
XGBoosterPredictFromDense XGBoosterPredictFromCSR XGBoosterPredictFromCudaArray XGBoosterPredictFromCudaColumnar
示例
c-api-demo.cinference.c