decisiontree.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2019-2026, NVIDIA CORPORATION.
3  * SPDX-License-Identifier: Apache-2.0
4  */
5 
6 #pragma once
7 
8 #include "algo_helper.h"
9 #include "flatnode.h"
10 
11 #include <string>
12 #include <vector>
13 
14 namespace ML {
15 
16 namespace DT {
17 
23  int max_depth;
31  float max_features;
52  float min_impurity_decrease = 0.0f;
53 
59 };
60 
80  int cfg_max_depth = -1,
81  int cfg_max_leaves = -1,
82  float cfg_max_features = 1.0f,
83  int cfg_max_n_bins = 128,
84  int cfg_min_samples_leaf = 1,
85  int cfg_min_samples_split = 2,
86  float cfg_min_impurity_decrease = 0.0f,
87  CRITERION cfg_split_criterion = CRITERION_END,
88  int cfg_max_batch_size = 4096);
89 
90 template <class T, class L>
92  int treeid;
95  double train_time;
96  std::vector<T> vector_leaf;
97  std::vector<SparseTreeNode<T, L>> sparsetree;
99 };
100 
108 template <class T, class L>
110 
118 template <class T, class L>
119 std::string get_tree_text(const TreeMetaDataNode<T, L>* tree);
120 
128 template <class T, class L>
129 std::string get_tree_json(const TreeMetaDataNode<T, L>* tree);
130 
135 
136 } // End namespace DT
137 } // End namespace ML
Definition: params.hpp:17
TreeMetaDataNode< double, double > TreeRegressorD
Definition: decisiontree.hpp:134
void set_tree_params(DecisionTreeParams ¶ms, int cfg_max_depth=-1, int cfg_max_leaves=-1, float cfg_max_features=1.0f, int cfg_max_n_bins=128, int cfg_min_samples_leaf=1, int cfg_min_samples_split=2, float cfg_min_impurity_decrease=0.0f, CRITERION cfg_split_criterion=CRITERION_END, int cfg_max_batch_size=4096)
Set all DecisionTreeParams members.
std::string get_tree_text(const TreeMetaDataNode< T, L > *tree)
Obtain detailed tree information.
std::string get_tree_json(const TreeMetaDataNode< T, L > *tree)
Export tree as a JSON string.
std::string get_tree_summary_text(const TreeMetaDataNode< T, L > *tree)
Obtain high-level tree information.
TreeMetaDataNode< double, int > TreeClassifierD
Definition: decisiontree.hpp:132
TreeMetaDataNode< float, float > TreeRegressorF
Definition: decisiontree.hpp:133
TreeMetaDataNode< float, int > TreeClassifierF
Definition: decisiontree.hpp:131
Definition: dbscan.hpp:18
CRITERION
Definition: algo_helper.h:9
@ CRITERION_END
Definition: algo_helper.h:17
Definition: decisiontree.hpp:18
int max_batch_size
Definition: decisiontree.hpp:58
int max_n_bins
Definition: decisiontree.hpp:35
CRITERION split_criterion
Definition: decisiontree.hpp:47
float max_features
Definition: decisiontree.hpp:31
int min_samples_leaf
Definition: decisiontree.hpp:39
int max_depth
Definition: decisiontree.hpp:23
float min_impurity_decrease
Definition: decisiontree.hpp:52
int min_samples_split
Definition: decisiontree.hpp:43
int max_leaves
Definition: decisiontree.hpp:27
Definition: decisiontree.hpp:91
std::vector< T > vector_leaf
Definition: decisiontree.hpp:96
double train_time
Definition: decisiontree.hpp:95
int leaf_counter
Definition: decisiontree.hpp:94
int treeid
Definition: decisiontree.hpp:92
std::vector< SparseTreeNode< T, L > > sparsetree
Definition: decisiontree.hpp:97
int num_outputs
Definition: decisiontree.hpp:98
int depth_counter
Definition: decisiontree.hpp:93