21 #ifndef __GBT_REGRESSION_MODEL_BUILDER_H__
22 #define __GBT_REGRESSION_MODEL_BUILDER_H__
24 #include "algorithms/gradient_boosted_trees/gbt_regression_model.h"
58 class DAAL_EXPORT ModelBuilder
64 typedef size_t NodeId;
69 typedef size_t TreeId;
71 static const NodeId noParent =
static_cast<size_t>(-1);
78 ModelBuilder(
size_t nFeatures,
size_t nIterations)
80 _status |= initialize(nFeatures, nIterations);
81 services::throwIfPossible(_status);
89 TreeId createTree(
size_t nNodes)
92 _status |= createTreeInternal(nNodes, resId);
93 services::throwIfPossible(_status);
105 NodeId addLeafNode(TreeId treeId, NodeId parentId,
size_t position,
double response)
108 _status |= addLeafNodeInternal(treeId, parentId, position, response, resId);
109 services::throwIfPossible(_status);
122 NodeId addSplitNode(TreeId treeId, NodeId parentId,
size_t position,
size_t featureIndex,
double featureValue)
125 _status |= addSplitNodeInternal(treeId, parentId, position, featureIndex, featureValue, resId);
126 services::throwIfPossible(_status);
136 _status |= convertModelInternal();
137 services::throwIfPossible(_status);
145 services::Status getStatus()
152 services::Status _status;
153 services::Status initialize(
size_t nFeatures,
size_t nIterations);
154 services::Status createTreeInternal(
size_t nNodes, TreeId& resId);
155 services::Status addLeafNodeInternal(TreeId treeId, NodeId parentId,
size_t position,
double response, NodeId& res);
156 services::Status addSplitNodeInternal(TreeId treeId, NodeId parentId,
size_t position,
size_t featureIndex,
double featureValue, NodeId& res);
157 services::Status convertModelInternal();
162 using interface1::ModelBuilder;
daal::algorithms::gbt::regression::interface1::ModelBuilder::addLeafNode
NodeId addLeafNode(TreeId treeId, NodeId parentId, size_t position, double response)
Definition: gbt_regression_model_builder.h:105
daal::algorithms::gbt::regression::interface1::ModelBuilder::getStatus
services::Status getStatus()
Definition: gbt_regression_model_builder.h:145
daal
Definition: algorithm_base_common.h:31
daal::algorithms::gbt::regression::interface1::ModelBuilder::ModelBuilder
ModelBuilder(size_t nFeatures, size_t nIterations)
Definition: gbt_regression_model_builder.h:78
daal::algorithms::em_gmm::nIterations
Definition: em_gmm_types.h:97
daal::algorithms::gbt::regression::interface1::ModelBuilder::NodeId
size_t NodeId
Node identifier type is size_t
Definition: gbt_regression_model_builder.h:64
daal::algorithms::gbt::regression::interface1::ModelBuilder
Model Builder class for gradient boosted trees regression model.
Definition: gbt_regression_model_builder.h:58
daal::algorithms::gbt::regression::interface1::ModelBuilder::getModel
ModelPtr getModel()
Definition: gbt_regression_model_builder.h:134
daal::algorithms::gbt::regression::interface1::ModelBuilder::TreeId
size_t TreeId
Tree identifier type is size_t
Definition: gbt_regression_model_builder.h:69
daal::algorithms::gbt::regression::interface1::ModelBuilder::createTree
TreeId createTree(size_t nNodes)
Definition: gbt_regression_model_builder.h:89
daal::algorithms::gbt::regression::interface1::ModelBuilder::addSplitNode
NodeId addSplitNode(TreeId treeId, NodeId parentId, size_t position, size_t featureIndex, double featureValue)
Definition: gbt_regression_model_builder.h:122