xgboost
task.h
前往此文件的文档。
1 
4 #ifndef XGBOOST_TASK_H_
5 #define XGBOOST_TASK_H_
6 
7 #include <xgboost/base.h>
8 
9 #include <cstdint> // for uint8_t
10 
11 namespace xgboost {
24 struct ObjInfo {
25  // 我们试图解决什么类型的问题
26  enum Task : std::uint8_t {
28  kBinary = 1,
30  kSurvival = 3,
31  kRanking = 4,
32  kOther = 5,
33  } task;
34  // 目标函数是否具有常数Hessian值?
35  bool const_hess{false};
36  bool zero_hess{false};
37 
38  ObjInfo(Task t) : task{t} {} // NOLINT
39  ObjInfo(Task t, bool khess, bool zhess) : task{t}, const_hess{khess}, zero_hess(zhess) {}
40 
44  XGBOOST_DEVICE bool UpdateTreeLeaf() const { return zero_hess; }
45 };
46 } // namespace xgboost
47 #endif // XGBOOST_TASK_H_
定义xgboost的配置宏和基本类型。
#define XGBOOST_DEVICE
标记函数可在设备上使用。
定义: base.h:64
多目标树的核心数据结构。
定义: base.h:89
一个由目标函数返回的结构体,用于确定当前任务。该结构体不被任何算法使用...
定义: task.h:24
Task
定义: task.h:26
@ 二分类
定义: task.h:28
@ 其他
定义: task.h:32
@ 回归
定义: task.h:27
@ 生存分析
定义: task.h:30
@ 排序
定义: task.h:31
@ 分类
定义: task.h:29
enum xgboost::ObjInfo::Task task
XGBOOST_DEVICE bool UpdateTreeLeaf() const
如果目标函数没有有效的Hessian值,则使用自适应树。
定义: task.h:44
bool zero_hess
定义: task.h:36
ObjInfo(Task t)
定义: task.h:38
bool const_hess
定义: task.h:35
ObjInfo(Task t, bool khess, bool zhess)
定义: task.h:39