CNum 0.2.1
CPU-optimized ML library for C++
Loading...
Searching...
No Matches
TreeDefs.h
Go to the documentation of this file.
1#ifndef TREE_DEFS_H
2#define TREE_DEFS_H
3
5#include <utility>
6#include <variant>
7
12namespace CNum::Model::Tree {
13 using SplitValuePair = std::pair<double, double>;
14
21 constexpr int N_BINS = 256;
22
23 using DataMatrix = std::variant< CNum::DataStructs::Matrix<int>, CNum::DataStructs::Matrix<double> >;
24
33
44
50 struct Split {
52 double threshold;
53 double best_gain;
54 int bin;
56 };
57
63 enum split_dir {
66 };
67
68 class TreeBoosterNode;
69 class TreeBooster;
70 class XGTreeBooster;
71 template <typename T> class GBModel;
72};
73
74#endif
struct arena_view arena_view_t
2d array abstraction
Definition Matrix.h:43
Tree-based models.
Definition GBModel.h:11
std::variant< CNum::DataStructs::Matrix< int >, CNum::DataStructs::Matrix< double > > DataMatrix
Definition TreeDefs.h:23
split_dir
Signifies the direction of a node resultant of a split in relation to its parent.
Definition TreeDefs.h:63
@ RIGHT
Definition TreeDefs.h:65
@ LEFT
Definition TreeDefs.h:64
constexpr int N_BINS
Number of bins used in the Tree models.
Definition TreeDefs.h:21
std::pair< double, double > SplitValuePair
Definition TreeDefs.h:13
A data partition for the set of samples a tree node has to work with during the tree building process...
Definition TreeDefs.h:39
size_t end
Definition TreeDefs.h:42
size_t start
Definition TreeDefs.h:41
arena_view_t * global_idx_array
Definition TreeDefs.h:40
Holds the total gradients and hessians for all bins.
Definition TreeDefs.h:29
arena_view_t g_bin
Definition TreeDefs.h:30
arena_view_t h_bin
Definition TreeDefs.h:31
Holds data associated with the decision making process in a TreeBoosterNode.
Definition TreeDefs.h:50
SplitValuePair values
Definition TreeDefs.h:55
double threshold
Definition TreeDefs.h:52
int bin
Definition TreeDefs.h:54
int feature
Definition TreeDefs.h:51
double best_gain
Definition TreeDefs.h:53