1#ifndef TREE_BOOSTER_NODE_H
2#define TREE_BOOSTER_NODE_H
38 static double get_gain(
double gs,
44 double reg_lambda = 1.0,
50 static Split split_comparison(std::vector< std::future<Split> > &splits);
87 double weight_decay = 0.0,
88 double reg_lambda = 1.0,
106 double weight_decay = 0.0,
107 double reg_lambda = 1.0,
struct arena_view arena_view_t
2d array abstraction
Definition Matrix.h:43
TreeBoosterNode * _right
Definition TreeBoosterNode.h:56
static Split find_best_split_greedy(CNum::DataStructs::Matrix< double > &X, const double *g, const double *h, double weight_decay=0.0, double reg_lambda=1.0, double gamma=0)
Find the best split at a tree node with the exact greedy method proposed in Chen & Guestrin's XGBoost...
Split _split
Definition TreeBoosterNode.h:53
static Split find_best_split_hist(const CNum::DataStructs::Matrix< int > &X, std::shared_ptr< CNum::Data::Shelf[]> shelves, const double *g, const double *h, bool histogram_cache, const arena_view_t &hist_view, DataPartition &partition, double weight_decay=0.0, double reg_lambda=1.0, double gamma=0)
Find the best split at a tree node with the histogram method (maximizing gain).
virtual ~TreeBoosterNode()
TreeBoosterNode(TreeBoosterNode *left=nullptr, TreeBoosterNode *right=nullptr)
Overloaded default constructor.
std::string to_json_string()
Save TreeBoosterNode data for an entire TreeBooster in a JSON formatted string.
double _value
Definition TreeBoosterNode.h:54
TreeBoosterNode * _left
Definition TreeBoosterNode.h:55
friend class TreeBooster
Definition TreeBoosterNode.h:114
Tree-based models.
Definition GBModel.h:11
Contains bins and the ranges of values they represent.
Definition Data.h:31
A data partition for the set of samples a tree node has to work with during the tree building process...
Definition TreeDefs.h:39
Holds data associated with the decision making process in a TreeBoosterNode.
Definition TreeDefs.h:50