21 #ifndef __GBT_CLASSIFICATION_MODEL_BUILDER_H__
22 #define __GBT_CLASSIFICATION_MODEL_BUILDER_H__
24 #include "algorithms/gradient_boosted_trees/gbt_classification_model.h"
40 namespace classification
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);
79 ModelBuilder(
size_t nFeatures,
size_t nIterations,
size_t nClasses = 2)
81 _status |= initialize(nFeatures, nIterations, nClasses);
82 services::throwIfPossible(_status);
91 TreeId createTree(
size_t nNodes,
size_t classLabel)
94 _status |= createTreeInternal(nNodes, classLabel, resId);
95 services::throwIfPossible(_status);
107 NodeId addLeafNode(TreeId treeId, NodeId parentId,
size_t position,
double response)
110 _status |= addLeafNodeInternal(treeId, parentId, position, response, resId);
111 services::throwIfPossible(_status);
124 NodeId addSplitNode(TreeId treeId, NodeId parentId,
size_t position,
size_t featureIndex,
double featureValue)
127 _status |= addSplitNodeInternal(treeId, parentId, position, featureIndex, featureValue, resId);
128 services::throwIfPossible(_status);
138 _status |= convertModelInternal();
139 services::throwIfPossible(_status);
147 services::Status getStatus()
154 services::Status _status;
155 services::Status initialize(
size_t nFeatures,
size_t nIterations,
size_t nClasses);
156 services::Status createTreeInternal(
size_t nNodes,
size_t classLabel, TreeId& resId);
157 services::Status addLeafNodeInternal(TreeId treeId, NodeId parentId,
size_t position,
double response, NodeId& res);
158 services::Status addSplitNodeInternal(TreeId treeId, NodeId parentId,
size_t position,
size_t featureIndex,
double featureValue, NodeId& res);
159 services::Status convertModelInternal();
166 using interface1::ModelBuilder;
daal::algorithms::gbt::classification::interface1::ModelBuilder::getModel
ModelPtr getModel()
Definition: gbt_classification_model_builder.h:136
daal
Definition: algorithm_base_common.h:31
daal::algorithms::gbt::classification::interface1::ModelBuilder::NodeId
size_t NodeId
Node identifier type is size_t
Definition: gbt_classification_model_builder.h:64
daal::algorithms::em_gmm::nIterations
Definition: em_gmm_types.h:97
daal::algorithms::gbt::classification::interface1::ModelBuilder::addSplitNode
NodeId addSplitNode(TreeId treeId, NodeId parentId, size_t position, size_t featureIndex, double featureValue)
Definition: gbt_classification_model_builder.h:124
daal::algorithms::gbt::classification::interface1::ModelBuilder::addLeafNode
NodeId addLeafNode(TreeId treeId, NodeId parentId, size_t position, double response)
Definition: gbt_classification_model_builder.h:107
daal::algorithms::gbt::classification::interface1::ModelBuilder::getStatus
services::Status getStatus()
Definition: gbt_classification_model_builder.h:147
daal::algorithms::gbt::classification::interface1::ModelBuilder::ModelBuilder
ModelBuilder(size_t nFeatures, size_t nIterations, size_t nClasses=2)
Definition: gbt_classification_model_builder.h:79
daal::algorithms::gbt::classification::interface1::ModelBuilder::TreeId
size_t TreeId
Tree identifier type is size_t
Definition: gbt_classification_model_builder.h:69
daal::algorithms::gbt::classification::interface1::ModelBuilder::createTree
TreeId createTree(size_t nNodes, size_t classLabel)
Definition: gbt_classification_model_builder.h:91
daal::algorithms::gbt::classification::interface1::ModelBuilder
Model Builder class for gradient boosted trees classification model.
Definition: gbt_classification_model_builder.h:58