7 #ifndef XGBOOST_C_API_H_ 
 8 #define XGBOOST_C_API_H_ 
 11 #define XGB_EXTERN_C extern "C" 
 22 #if defined(_MSC_VER) || defined(_WIN32) 
 23 #define XGB_DLL XGB_EXTERN_C __declspec(dllexport) 
 25 #define XGB_DLL XGB_EXTERN_C __attribute__ ((visibility ("default")))
 
 432  const char* cache_info,
 
 642  char const *indices, 
char const *data,
 
 693  const char *fname, 
int silent);
 
 752  const char **features,
 
 792  const char ***out_features);
 
 811  const float **out_dptr);
 
 827  const unsigned **out_dptr);
 
 884  bst_ulong *out_indptr, 
unsigned *out_indices, 
float *out_data);
 
 902  char const **out_indptr, 
char const **out_data);
 
 968  int end_layer, 
int step,
 
 1039  char const *grad, 
char const *hess);
 
 1052  const char *evnames[], 
bst_ulong len, 
const char **out_result);
 
 1095  unsigned ntree_limit,
 
 1098  const float **out_result);
 
 1159  char const *config, 
bst_ulong const **out_shape,
 
 1160  bst_ulong *out_dim, 
float const **out_result);
 
 1187  bst_ulong *out_dim, 
const float **out_result);
 
 1215  const float **out_result);
 
 1241  char const *values, 
bst_ulong ncol, 
char const *config,
 
 1243  bst_ulong *out_dim, 
const float **out_result);
 
 1267  const float **out_result);
 
 1291  const float **out_result);
 
 1372  char const **out_dptr);
 
 1384  const char **out_dptr);
 
 1410  char const **out_str);
 
 1436  const char ***out_dump_array);
 
 1453  const char ***out_dump_array);
 
 1472  const char ***out_models);
 
 1493  const char ***out_models);
 
 1546  const char **features,
 
 1570  const char ***out_features);
 
 1598  bst_ulong *out_n_features, 
char const ***out_features,
 
 1600  float const **out_scores); 
 
#define XGB_EXTERN_C
定义: c_api.h:16
#define XGB_DLL
定义: c_api.h:25
uint64_t bst_ulong
定义: c_api.h:29
int XGBoosterBoostedRounds(BoosterHandle handle, int *out)
获取梯度提升器中提升的轮数。当 process_type 为 update 时,此数字可能...。
int XGBoosterSetAttr(BoosterHandle handle, const char *key, const char *value)
设置或删除字符串属性。
int XGBoosterFeatureScore(BoosterHandle handle, const char *config, bst_ulong *out_n_features, char const ***out_features, bst_ulong *out_dim, bst_ulong const **out_shape, float const **out_scores)
计算树模型的特征分数。在线性模型上使用时,仅权重重要性类型...。
int XGBoosterGetNumFeature(BoosterHandle handle, bst_ulong *out)
获取特征数量
int XGBoosterFree(BoosterHandle handle)
删除增强器。
int XGBoosterGetAttr(BoosterHandle handle, const char *key, const char **out, int *success)
从 Booster 获取字符串属性。
int XGBoosterSetStrFeatureInfo(BoosterHandle handle, const char *field, const char **features, const bst_ulong size)
在 Booster 中设置字符串编码的特征信息,类似于 DMatrix 中的特征信息。
int XGBoosterSlice(BoosterHandle handle, int begin_layer, int end_layer, int step, BoosterHandle *out)
使用提升索引对模型进行切片。切片 m:n 表示获取在...期间拟合的所有树。
int XGBoosterGetStrFeatureInfo(BoosterHandle handle, const char *field, bst_ulong *len, const char ***out_features)
从 Booster 获取字符串编码的特征信息,类似于 DMatrix 中的特征信息。
int XGBoosterEvalOneIter(BoosterHandle handle, int iter, DMatrixHandle dmats[], const char *evnames[], bst_ulong len, const char **out_result)
获取xgboost的评估统计数据
int XGBoosterUpdateOneIter(BoosterHandle handle, int iter, DMatrixHandle dtrain)
使用dtrain更新模型一个回合
int XGBoosterSetParam(BoosterHandle handle, const char *name, const char *value)
设置参数
int XGBoosterDumpModelWithFeatures(BoosterHandle handle, int fnum, const char **fname, const char **ftype, int with_stats, bst_ulong *out_len, const char ***out_models)
转储模型,返回表示模型转储的字符串数组
int XGBoosterDumpModelEx(BoosterHandle handle, const char *fmap, int with_stats, const char *format, bst_ulong *out_len, const char ***out_dump_array)
转储模型,返回表示模型转储的字符串数组
int XGBoosterGetAttrNames(BoosterHandle handle, bst_ulong *out_len, const char ***out)
获取Booster中所有属性的名称。
int XGBoosterBoostOneIter(BoosterHandle handle, DMatrixHandle dtrain, float *grad, float *hess, bst_ulong len)
int XGBoosterTrainOneIter(BoosterHandle handle, DMatrixHandle dtrain, int iter, char const *grad, char const *hess)
使用梯度和Hessian更新模型。这用于使用自定义目标函数进行训练。
int XGBoosterCreate(const DMatrixHandle dmats[], bst_ulong len, BoosterHandle *out)
创建一个XGBoost学习器(booster)
int XGBoosterDumpModel(BoosterHandle handle, const char *fmap, int with_stats, bst_ulong *out_len, const char ***out_dump_array)
转储模型,返回表示模型转储的字符串数组
int XGBoosterReset(BoosterHandle handle)
重置booster对象以释放用于训练的数据缓存。
int XGBoosterDumpModelExWithFeatures(BoosterHandle handle, int fnum, const char **fname, const char **ftype, int with_stats, const char *format, bst_ulong *out_len, const char ***out_models)
转储模型,返回表示模型转储的字符串数组
int XGTrackerRun(TrackerHandle handle, char const *config)
启动跟踪器。跟踪器在后台运行,此函数在跟踪器启动后返回...。
int XGCommunicatorAllreduce(void *send_receive_buffer, size_t count, int data_type, int op)
执行就地 allreduce。此函数不是线程安全的。
int XGTrackerWaitFor(TrackerHandle handle, char const *config)
等待跟踪器完成,应在 XGTrackerRun() 之后调用。此函数将阻塞直到...。
int XGCommunicatorGetWorldSize(void)
获取进程总数。
int XGTrackerCreate(char const *config, TrackerHandle *handle)
创建新的追踪器。
int XGCommunicatorBroadcast(void *send_receive_buffer, size_t size, int root)
将内存区域从根节点广播到所有其他节点。此函数不是线程安全的。
int XGCommunicatorGetRank(void)
获取当前进程的排名。
int XGCommunicatorPrint(char const *message)
将消息打印到追踪器。
int XGCommunicatorInit(char const *config)
初始化集体通信器。
void * TrackerHandle
追踪器的句柄。
定义: c_api.h:1640
int XGCommunicatorGetProcessorName(const char **name_str)
获取处理器的名称。
int XGCommunicatorFinalize(void)
结束集体通信器。
int XGCommunicatorIsDistributed(void)
获取通信器是否是分布式的。
int XGTrackerFree(TrackerHandle handle)
释放跟踪器实例。这应该在 XGTrackerWaitFor() 之后调用。如果跟踪器未正确...。
int XGTrackerWorkerArgs(TrackerHandle handle, char const **args)
获取运行 worker 所需的参数。这应该在 XGTrackerRun() 之后调用。
int XGDMatrixDataSplitMode(DMatrixHandle handle, bst_ulong *out)
从 DMatrix 获取数据分割模式。
int XGDMatrixSetUIntInfo(DMatrixHandle handle, const char *field, const unsigned *array, bst_ulong len)
int XGDMatrixSetStrFeatureInfo(DMatrixHandle handle, const char *field, const char **features, const bst_ulong size)
设置所有特征的字符串编码信息。
int XGDMatrixFree(DMatrixHandle handle)
释放数据矩阵中的空间
int XGDMatrixCreateFromCudaColumnar(char const *data, char const *config, DMatrixHandle *out)
从 CUDA 列式格式创建 DMatrix。(cuDF)
int XGDMatrixCreateFromDense(char const *data, char const *config, DMatrixHandle *out)
从密集数组创建 DMatrix。
int XGDMatrixSaveBinary(DMatrixHandle handle, const char *fname, int silent)
将 DMatrix 对象保存到文件。不支持 QuantileDMatrix 和外部内存 DMatrix。
int XGDMatrixSliceDMatrix(DMatrixHandle handle, const int *idxset, bst_ulong len, DMatrixHandle *out)
从现有矩阵的切片内容创建新 dmatrix
int XGDMatrixNumRow(DMatrixHandle handle, bst_ulong *out)
获取行数。
int XGDMatrixSliceDMatrixEx(DMatrixHandle handle, const int *idxset, bst_ulong len, DMatrixHandle *out, int allow_groups)
从现有矩阵的切片内容创建新 dmatrix
int XGDMatrixCreateFromCSR(char const *indptr, char const *indices, char const *data, bst_ulong ncol, char const *config, DMatrixHandle *out)
从 CSR 矩阵创建 DMatrix。
int XGDMatrixCreateFromFile(const char *fname, int silent, DMatrixHandle *out)
加载数据矩阵
int XGDMatrixCreateFromCudaArrayInterface(char const *data, char const *config, DMatrixHandle *out)
从 CUDA 数组创建 DMatrix。
int XGDMatrixNumNonMissing(DMatrixHandle handle, bst_ulong *out)
从 DMatrix 获取有效值数量。
int XGDMatrixGetDataAsCSR(DMatrixHandle const handle, char const *config, bst_ulong *out_indptr, unsigned *out_indices, float *out_data)
从 DMatrix 获取预测变量作为 CSR 矩阵进行测试。如果这是一个量化 DMatrix,...。
int XGDMatrixGetStrFeatureInfo(DMatrixHandle handle, const char *field, bst_ulong *size, const char ***out_features)
获取所有特征的字符串编码信息。
int XGDMatrixCreateFromMat_omp(const float *data, bst_ulong nrow, bst_ulong ncol, float missing, DMatrixHandle *out, int nthread)
从密集矩阵创建矩阵内容
int XGDMatrixGetUIntInfo(const DMatrixHandle handle, const char *field, bst_ulong *out_len, const unsigned **out_dptr)
从矩阵获取 uint32 信息向量
int XGDMatrixNumCol(DMatrixHandle handle, bst_ulong *out)
获取列数
int XGDMatrixSetFloatInfo(DMatrixHandle handle, const char *field, const float *array, bst_ulong len)
将浮点向量设置为信息中的内容
int XGDMatrixGetQuantileCut(DMatrixHandle const handle, char const *config, char const **out_indptr, char const **out_data)
导出用于训练基于直方图的模型(如hist和approx)的分位数切分点。
int XGDMatrixSetInfoFromInterface(DMatrixHandle handle, char const *field, char const *data)
将数组接口中的内容设置为信息中的内容。
int XGDMatrixSetDenseInfo(DMatrixHandle handle, const char *field, void const *data, bst_ulong size, int type)
int XGDMatrixCreateFromColumnar(char const *data, char const *config, DMatrixHandle *out)
从列式数据创建 DMatrix。(表格)
int XGDMatrixCreateFromURI(char const *config, DMatrixHandle *out)
加载数据矩阵
int XGDMatrixCreateFromCSC(char const *indptr, char const *indices, char const *data, bst_ulong nrow, char const *config, DMatrixHandle *out)
从 CSC 矩阵创建 DMatrix。
int XGDMatrixCreateFromMat(const float *data, bst_ulong nrow, bst_ulong ncol, float missing, DMatrixHandle *out)
从密集矩阵创建矩阵内容
int XGDMatrixGetFloatInfo(const DMatrixHandle handle, const char *field, bst_ulong *out_len, const float **out_dptr)
从矩阵获取浮点信息向量。
int XGBGetGlobalConfig(char const **out_config)
获取当前全局配置(适用于全局的参数集合)。
void * BoosterHandle
Booster 句柄
定义: c_api.h:52
const char * XGBGetLastError()
获取上一个错误的字符串消息
int XGBSetGlobalConfig(char const *config)
设置全局配置(适用于全局的参数集合)。此函数接受...
int XGBuildInfo(char const **out)
获取共享库的编译信息。
void * DMatrixHandle
DMatrix 句柄
定义: c_api.h:50
int XGBRegisterLogCallback(void(*callback)(const char *))
注册用于LOG(INFO)消息的回调函数——有用的消息,而不是错误。
void XGBoostVersion(int *major, int *minor, int *patch)
返回当前使用的 XGBoost 库的版本。
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 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 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)进行就地预测。
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 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 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 XGBoosterPredictFromDMatrix(BoosterHandle handle, DMatrixHandle dmat, char const *config, bst_ulong const **out_shape, bst_ulong *out_dim, float const **out_result)
从DMatrix进行预测,取代XGBoosterPredict。
int XGBoosterLoadModelFromBuffer(BoosterHandle handle, const void *buf, bst_ulong len)
从内存缓冲区加载模型
int XGBoosterSaveModel(BoosterHandle handle, const char *fname)
将模型保存到现有文件。
int XGBoosterLoadJsonConfig(BoosterHandle handle, char const *config)
从JSON文档加载XGBoost的内部配置。目前支持尚处于实验阶段,...
int XGBoosterUnserializeFromBuffer(BoosterHandle handle, const void *buf, bst_ulong len)
基于内存快照的序列化方法。加载从XGBoosterSerializeToBuffer返回的缓冲区...
int XGBoosterSaveModelToBuffer(BoosterHandle handle, char const *config, bst_ulong *out_len, char const **out_dptr)
将模型保存为原始字节,返回数组的头部。用户必须将结果复制出来,...
int XGBoosterLoadModel(BoosterHandle handle, const char *fname)
从现有文件加载模型。
int XGBoosterSaveJsonConfig(BoosterHandle handle, bst_ulong *out_len, char const **out_str)
将XGBoost的内部配置保存为JSON文档。目前支持尚处于实验阶段,...
int XGBoosterSerializeToBuffer(BoosterHandle handle, bst_ulong *out_len, const char **out_dptr)
基于内存快照的序列化方法。将所有状态保存到缓冲区中。
void * DataHolderHandle
内部数据持有者的句柄。
定义: c_api.h:370
int XGBCallbackDataIterNext(DataIterHandle data_handle, XGBCallbackSetData *set_function, DataHolderHandle set_function_handle)
数据读取回调函数。迭代器将能够提供数据中的批次子集。
定义: c_api.h:416
int XGProxyDMatrixSetDataCSR(DMatrixHandle handle, char const *indptr, char const *indices, char const *data, bst_ulong ncol)
在DMatrix代理上设置数据。
int XGBCallbackSetData(DataHolderHandle handle, XGBoostBatchCSR batch)
设置数据到句柄的回调函数。
定义: c_api.h:402
int XGDMatrixCreateFromCallback(DataIterHandle iter, DMatrixHandle proxy, DataIterResetCallback *reset, XGDMatrixCallbackNext *next, char const *config, DMatrixHandle *out)
使用数据迭代器创建外部内存 DMatrix。
int XGDMatrixCreateFromDataIter(DataIterHandle data_handle, XGBCallbackDataIterNext *callback, const char *cache_info, float missing, DMatrixHandle *out)
从数据迭代器创建 DMatrix。
int XGProxyDMatrixSetDataColumnar(DMatrixHandle handle, char const *data)
在DMatrix代理上设置列状(表状)数据。
int XGProxyDMatrixCreate(DMatrixHandle *out)
创建一个用于设置数据的DMatrix代理,可由XGDMatrixFree释放。
int XGDMatrixCallbackNext(DataIterHandle iter)
获取下一批数据的回调函数原型。
定义: c_api.h:470
int XGProxyDMatrixSetDataDense(DMatrixHandle handle, char const *data)
在DMatrix代理上设置数据。
int XGExtMemQuantileDMatrixCreateFromCallback(DataIterHandle iter, DMatrixHandle proxy, DataIterHandle ref, DataIterResetCallback *reset, XGDMatrixCallbackNext *next, char const *config, DMatrixHandle *out)
创建由外部内存支持的Quantile DMatrix。
void * DataIterHandle
外部数据迭代器的句柄
定义: c_api.h:368
int XGQuantileDMatrixCreateFromCallback(DataIterHandle iter, DMatrixHandle proxy, DataIterHandle ref, DataIterResetCallback *reset, XGDMatrixCallbackNext *next, char const *config, DMatrixHandle *out)
使用数据迭代器创建Quantile DMatrix。
int XGProxyDMatrixSetDataCudaColumnar(DMatrixHandle handle, const char *data)
在 DMatrix 代理上设置基于 CUDA 的列式(表格)数据。
void DataIterResetCallback(DataIterHandle handle)
重置外部迭代器的回调函数原型。
定义: c_api.h:475
int XGProxyDMatrixSetDataCudaArrayInterface(DMatrixHandle handle, const char *data)
在DMatrix代理上设置数据。
XGBoost数据迭代中使用的mini批次。
定义: c_api.h:374
int64_t * offset
指向数据中行的行指针
定义: c_api.h:385
int * index
特征索引
定义: c_api.h:392
float * value
特征值
定义: c_api.h:394
size_t columns
定义: c_api.h:378
float * weight
每个实例的权重,可以为NULL
定义: c_api.h:390
size_t size
小批次中的行数
定义: c_api.h:376