23 #ifndef __GBT_CLASSIFICATION_MODEL_BUILDER_H__
24 #define __GBT_CLASSIFICATION_MODEL_BUILDER_H__
26 #include "algorithms/gradient_boosted_trees/gbt_classification_model.h"
42 namespace classification
60 class DAAL_EXPORT ModelBuilder
66 typedef size_t NodeId;
71 typedef size_t TreeId;
73 static const NodeId noParent =
static_cast<size_t>(-1);
81 ModelBuilder(
size_t nFeatures,
size_t nIterations,
size_t nClasses = 2)
83 _status |= initialize(nFeatures, nIterations, nClasses);
84 services::throwIfPossible(_status);
93 TreeId createTree(
size_t nNodes,
size_t classLabel)
96 _status |= createTreeInternal(nNodes, classLabel, resId);
97 services::throwIfPossible(_status);
109 NodeId addLeafNode(TreeId treeId, NodeId parentId,
size_t position,
double response)
112 _status |= addLeafNodeInternal(treeId, parentId, position, response, resId);
113 services::throwIfPossible(_status);
126 NodeId addSplitNode(TreeId treeId, NodeId parentId,
size_t position,
size_t featureIndex,
double featureValue)
129 _status |= addSplitNodeInternal(treeId, parentId, position, featureIndex, featureValue, resId);
130 services::throwIfPossible(_status);
140 _status |= convertModelInternal();
141 services::throwIfPossible(_status);
149 services::Status getStatus()
156 services::Status _status;
157 services::Status initialize(
size_t nFeatures,
size_t nIterations,
size_t nClasses);
158 services::Status createTreeInternal(
size_t nNodes,
size_t classLabel, TreeId& resId);
159 services::Status addLeafNodeInternal(TreeId treeId, NodeId parentId,
size_t position,
double response, NodeId& res);
160 services::Status addSplitNodeInternal(TreeId treeId, NodeId parentId,
size_t position,
size_t featureIndex,
double featureValue, NodeId& res);
161 services::Status convertModelInternal();
168 using interface1::ModelBuilder;
daal::algorithms::gbt::classification::interface1::ModelBuilder::NodeId
size_t NodeId
Node identifier type is size_t
Definition: gbt_classification_model_builder.h:66
daal::algorithms::gbt::classification::interface1::ModelBuilder::TreeId
size_t TreeId
Tree identifier type is size_t
Definition: gbt_classification_model_builder.h:71
daal::algorithms::gbt::classification::interface1::ModelBuilder::ModelBuilder
ModelBuilder(size_t nFeatures, size_t nIterations, size_t nClasses=2)
Definition: gbt_classification_model_builder.h:81
daal::algorithms::gbt::classification::interface1::ModelBuilder::getModel
ModelPtr getModel()
Definition: gbt_classification_model_builder.h:138
daal::algorithms::gbt::classification::interface1::ModelBuilder::createTree
TreeId createTree(size_t nNodes, size_t classLabel)
Definition: gbt_classification_model_builder.h:93
daal::algorithms::gbt::classification::interface1::ModelBuilder::addLeafNode
NodeId addLeafNode(TreeId treeId, NodeId parentId, size_t position, double response)
Definition: gbt_classification_model_builder.h:109
daal::algorithms::gbt::classification::interface1::ModelBuilder
Model Builder class for gradient boosted trees classification model.
Definition: gbt_classification_model_builder.h:60
daal::algorithms::gbt::classification::interface1::ModelBuilder::getStatus
services::Status getStatus()
Definition: gbt_classification_model_builder.h:149
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:126
daal::algorithms::em_gmm::nIterations
Definition: em_gmm_types.h:99