xgboost
c_api.h
查看此文件文档。
1 
7 #ifndef XGBOOST_C_API_H_
8 #define XGBOOST_C_API_H_
9 
10 #ifdef __cplusplus
11 #define XGB_EXTERN_C extern "C"
12 #include <cstddef>
13 #include <cstdio>
14 #include <cstdint>
15 #else
16 #define XGB_EXTERN_C
17 #include <stddef.h>
18 #include <stdio.h>
19 #include <stdint.h>
20 #endif // __cplusplus
21 
22 #if defined(_MSC_VER) || defined(_WIN32)
23 #define XGB_DLL XGB_EXTERN_C __declspec(dllexport)
24 #else
25 #define XGB_DLL XGB_EXTERN_C __attribute__ ((visibility ("default")))
26 #endif // defined(_MSC_VER) || defined(_WIN32)
27 
28 // 手动定义 unsigned long
29 typedef uint64_t bst_ulong; // NOLINT(*)
30 
50 typedef void *DMatrixHandle; // NOLINT(*)
52 typedef void *BoosterHandle; // NOLINT(*)
53 
63 XGB_DLL void XGBoostVersion(int* major, int* minor, int* patch);
64 
72 XGB_DLL int XGBuildInfo(char const **out);
73 
84 XGB_DLL const char *XGBGetLastError();
85 
93 XGB_DLL int XGBRegisterLogCallback(void (*callback)(const char*));
94 
103 XGB_DLL int XGBSetGlobalConfig(char const *config);
104 
110 XGB_DLL int XGBGetGlobalConfig(char const **out_config);
111 
136 XGB_DLL int XGDMatrixCreateFromFile(const char *fname, int silent, DMatrixHandle *out);
137 
150 XGB_DLL int XGDMatrixCreateFromURI(char const *config, DMatrixHandle *out);
151 
152 
158 XGB_DLL int XGDMatrixCreateFromCSREx(const size_t *indptr, const unsigned *indices,
159  const float *data, size_t nindptr, size_t nelem,
160  size_t num_col, DMatrixHandle *out);
173 XGB_DLL int XGDMatrixCreateFromColumnar(char const *data, char const *config, DMatrixHandle *out);
174 
189 XGB_DLL int XGDMatrixCreateFromCSR(char const *indptr, char const *indices, char const *data,
190  bst_ulong ncol, char const *config, DMatrixHandle *out);
191 
207 XGB_DLL int XGDMatrixCreateFromDense(char const *data, char const *config, DMatrixHandle *out);
208 
221 XGB_DLL int XGDMatrixCreateFromCSC(char const *indptr, char const *indices, char const *data,
222  bst_ulong nrow, char const *config, DMatrixHandle *out);
223 
229 XGB_DLL int XGDMatrixCreateFromCSCEx(const size_t *col_ptr, const unsigned *indices,
230  const float *data, size_t nindptr, size_t nelem,
231  size_t num_row, DMatrixHandle *out);
232 
242 XGB_DLL int XGDMatrixCreateFromMat(const float *data,
243  bst_ulong nrow,
244  bst_ulong ncol,
245  float missing,
246  DMatrixHandle *out);
257 XGB_DLL int XGDMatrixCreateFromMat_omp(const float *data, // NOLINT
258  bst_ulong nrow, bst_ulong ncol,
259  float missing, DMatrixHandle *out,
260  int nthread);
261 
273 XGB_DLL int XGDMatrixCreateFromCudaColumnar(char const *data, char const *config,
274  DMatrixHandle *out);
275 
286 XGB_DLL int XGDMatrixCreateFromCudaArrayInterface(char const *data, char const *config,
287  DMatrixHandle *out);
288 
340 /* ==== 用于 JVM 包的第一组回调函数。 ==== */
341 
343 typedef void *DataIterHandle; // NOLINT(*)
345 typedef void *DataHolderHandle; // NOLINT(*)
346 
347 
349 typedef struct { // NOLINT(*)
351 /* \brief 迷你批次中的行数。 */ size_t size;
352  /* \brief 迷你批次中的列数。 */
353  size_t columns;
355 #ifdef __APPLE__
356  /* 在 MacOS 上,Java 将 jlong 定义为 long int,
357  * 而 gcc 将 int64_t 定义为 long long int。因此有必要。 */
358  long* offset; // NOLINT(*)
359 #else
360  int64_t* offset; // NOLINT(*)
361 #endif // __APPLE__
363 /* \brief 迷你批次的标签 */ float* label;
365  /* \brief 迷你批次的权重 */ float* weight;
367  /* \brief 特征索引 */ int* index;
369  /* \brief 特征值 */ float* value;
371 
377 XGB_EXTERN_C typedef int XGBCallbackSetData( // NOLINT(*)
378  DataHolderHandle handle, XGBoostBatchCSR batch);
379 
391 XGB_EXTERN_C typedef int XGBCallbackDataIterNext( // NOLINT(*)
392  DataIterHandle data_handle, XGBCallbackSetData *set_function,
393  DataHolderHandle set_function_handle);
394 
405  DataIterHandle data_handle,
406  XGBCallbackDataIterNext* callback,
407  const char* cache_info,
408  float missing,
409  DMatrixHandle *out);
410 
437 
445 XGB_EXTERN_C typedef int XGDMatrixCallbackNext(DataIterHandle iter); // NOLINT(*)
446 
450 XGB_EXTERN_C typedef void DataIterResetCallback(DataIterHandle handle); // NOLINT(*)
451 
452 
478  char const *config, DMatrixHandle *out);
518  XGDMatrixCallbackNext *next, char const *config,
519  DMatrixHandle *out);
520 
554  DataIterHandle ref,
555  DataIterResetCallback *reset,
556  XGDMatrixCallbackNext *next,
557  char const *config, DMatrixHandle *out);
558 
569 
579 
589 
599 XGB_DLL int XGProxyDMatrixSetDataDense(DMatrixHandle handle, char const *data);
600 
612 XGB_DLL int XGProxyDMatrixSetDataCSR(DMatrixHandle handle, char const *indptr,
613  char const *indices, char const *data,
614  bst_ulong ncol);
615  // Stream 结束
617 
627  const int *idxset,
628  bst_ulong len,
629  DMatrixHandle *out);
640  const int *idxset,
641  bst_ulong len,
642  DMatrixHandle *out,
643  int allow_groups);
664  const char *fname, int silent);
665 
676  char const *data);
677 
686 XGB_DLL int XGDMatrixSetFloatInfo(DMatrixHandle handle, const char *field, const float *array,
687  bst_ulong len);
693 XGB_DLL int XGDMatrixSetUIntInfo(DMatrixHandle handle, const char *field, const unsigned *array,
694  bst_ulong len);
695 
722 XGB_DLL int XGDMatrixSetStrFeatureInfo(DMatrixHandle handle, const char *field,
723  const char **features,
724  const bst_ulong size);
725 
761 XGB_DLL int XGDMatrixGetStrFeatureInfo(DMatrixHandle handle, const char *field,
762  bst_ulong *size,
763  const char ***out_features);
764 
770 XGB_DLL int XGDMatrixSetDenseInfo(DMatrixHandle handle, const char *field, void const *data,
771  bst_ulong size, int type);
772 
781 XGB_DLL int XGDMatrixGetFloatInfo(const DMatrixHandle handle, const char *field, bst_ulong *out_len,
782  const float **out_dptr);
796  const char *field,
797  bst_ulong* out_len,
798  const unsigned **out_dptr);
813 
823 
833 
854 XGB_DLL int XGDMatrixGetDataAsCSR(DMatrixHandle const handle, char const *config,
855  bst_ulong *out_indptr, unsigned *out_indices, float *out_data);
856 
872 XGB_DLL int XGDMatrixGetQuantileCut(DMatrixHandle const handle, char const *config,
873  char const **out_indptr, char const **out_data);
874  // DMatrix 结束
876 
924 
938 XGB_DLL int XGBoosterSlice(BoosterHandle handle, int begin_layer,
939  int end_layer, int step,
940  BoosterHandle *out);
941 
950 
959  const char *name,
960  const char *value);
992  float *hess, bst_ulong len);
993 
1010  char const *grad, char const *hess);
1011 
1023  const char *evnames[], bst_ulong len, const char **out_result);
1064  DMatrixHandle dmat,
1065  int option_mask,
1066  unsigned ntree_limit,
1067  int training,
1068  bst_ulong *out_len,
1069  const float **out_result);
1070 
1130  char const *config, bst_ulong const **out_shape,
1131  bst_ulong *out_dim, float const **out_result);
1156 XGB_DLL int XGBoosterPredictFromDense(BoosterHandle handle, char const *values, char const *config,
1157  DMatrixHandle m, bst_ulong const **out_shape,
1158  bst_ulong *out_dim, const float **out_result);
1183 XGB_DLL int XGBoosterPredictFromColumnar(BoosterHandle handle, char const *values,
1184  char const *config, DMatrixHandle m,
1185  bst_ulong const **out_shape, bst_ulong *out_dim,
1186  const float **out_result);
1187 
1211 XGB_DLL int XGBoosterPredictFromCSR(BoosterHandle handle, char const *indptr, char const *indices,
1212  char const *values, bst_ulong ncol, char const *config,
1213  DMatrixHandle m, bst_ulong const **out_shape,
1214  bst_ulong *out_dim, const float **out_result);
1215 
1235 XGB_DLL int XGBoosterPredictFromCudaArray(BoosterHandle handle, char const *values,
1236  char const *config, DMatrixHandle proxy,
1237  bst_ulong const **out_shape, bst_ulong *out_dim,
1238  const float **out_result);
1239 
1260  char const *config, DMatrixHandle proxy,
1261  bst_ulong const **out_shape, bst_ulong *out_dim,
1262  const float **out_result);
1263  // Prediction 结束
1265 
1266 
1302  const char *fname);
1311  const char *fname);
1321  const void *buf,
1322  bst_ulong len);
1323 
1340 XGB_DLL int XGBoosterSaveModelToBuffer(BoosterHandle handle, char const *config, bst_ulong *out_len,
1341  char const **out_dptr);
1342 
1353  const char **out_dptr);
1364  const void *buf, bst_ulong len);
1365 
1379  char const **out_str);
1389 XGB_DLL int XGBoosterLoadJsonConfig(BoosterHandle handle, char const *config); // Serialization 结束
1391 
1402  const char *fmap,
1403  int with_stats,
1404  bst_ulong *out_len,
1405  const char ***out_dump_array);
1406 
1418  const char *fmap,
1419  int with_stats,
1420  const char *format,
1421  bst_ulong *out_len,
1422  const char ***out_dump_array);
1423 
1436  int fnum,
1437  const char **fname,
1438  const char **ftype,
1439  int with_stats,
1440  bst_ulong *out_len,
1441  const char ***out_models);
1442 
1456  int fnum,
1457  const char **fname,
1458  const char **ftype,
1459  int with_stats,
1460  const char *format,
1461  bst_ulong *out_len,
1462  const char ***out_models);
1463 
1473  const char* key,
1474  const char** out,
1475  int *success);
1486  const char* key,
1487  const char* value);
1496  bst_ulong* out_len,
1497  const char*** out);
1498 
1514 XGB_DLL int XGBoosterSetStrFeatureInfo(BoosterHandle handle, const char *field,
1515  const char **features,
1516  const bst_ulong size);
1517 
1537 XGB_DLL int XGBoosterGetStrFeatureInfo(BoosterHandle handle, const char *field,
1538  bst_ulong *len,
1539  const char ***out_features);
1540 
1566 XGB_DLL int XGBoosterFeatureScore(BoosterHandle handle, const char *config,
1567  bst_ulong *out_n_features, char const ***out_features,
1568  bst_ulong *out_dim, bst_ulong const **out_shape,
1569  float const **out_scores); // Booster 结束
1571 
1609 typedef void *TrackerHandle; /* NOLINT */
1610 
1641 XGB_DLL int XGTrackerCreate(char const *config, TrackerHandle *handle);
1642 
1652 XGB_DLL int XGTrackerWorkerArgs(TrackerHandle handle, char const **args);
1653 
1663 XGB_DLL int XGTrackerRun(TrackerHandle handle, char const *config);
1664 
1675 XGB_DLL int XGTrackerWaitFor(TrackerHandle handle, char const *config);
1676 
1687 
1722 XGB_DLL int XGCommunicatorInit(char const* config);
1723 
1732 
1739 
1746 
1753 
1763 XGB_DLL int XGCommunicatorPrint(char const *message);
1764 
1771 XGB_DLL int XGCommunicatorGetProcessorName(const char** name_str);
1772 
1788 XGB_DLL int XGCommunicatorBroadcast(void *send_receive_buffer, size_t size, int root);
1789 
1811 XGB_DLL int XGCommunicatorAllreduce(void *send_receive_buffer, size_t count, int data_type, int op);
1812  // Collective 结束
1814 #endif // XGBOOST_C_API_H_
#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)
删除 booster。
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)
执行就地全归约。此函数不是线程安全的。
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)
将一个内存区域从 root 广播到所有其他进程。此函数不是线程安全的。
int XGCommunicatorGetRank(void)
获取当前进程的排名。
int XGCommunicatorPrint(char const *message)
向跟踪器打印消息。
int XGCommunicatorInit(char const *config)
初始化集体通信器。
void * TrackerHandle
跟踪器的句柄。
定义: c_api.h:1609
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 XGDMatrixCreateFromCSREx(const size_t *indptr, const unsigned *indices, const float *data, size_t nindptr, size_t nelem, size_t num_col, DMatrixHandle *out)
从 CSR 格式创建矩阵内容
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)
将浮点向量设置为 info 中的内容
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)
将数组接口中的内容设置为 info 中的内容。
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。(table)
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 XGDMatrixCreateFromCSCEx(const size_t *col_ptr, const unsigned *indices, const float *data, size_t nindptr, size_t nelem, size_t num_row, DMatrixHandle *out)
从 CSC 格式创建矩阵内容
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 列式数据进行原地预测。(Table)
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:345
int XGBCallbackDataIterNext(DataIterHandle data_handle, XGBCallbackSetData *set_function, DataHolderHandle set_function_handle)
数据读取回调函数。迭代器能够提供数据中的批次子集。
定义: c_api.h:391
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:377
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:445
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:343
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:450
int XGProxyDMatrixSetDataCudaArrayInterface(DMatrixHandle handle, const char *data)
在 DMatrix 代理上设置数据。
XGBoost 数据迭代中使用的 mini-batch。
定义: c_api.h:349
int64_t * offset
指向数据中行的行指针
定义: c_api.h:360
int * index
特征索引
定义: c_api.h:367
float * value
特征值
定义: c_api.h:369
size_t columns
定义: c_api.h:353
float * weight
每个实例的权重,可以为 NULL
定义: c_api.h:365
size_t size
mini-batch 中的行数
定义: c_api.h:351