Point Cloud Library (PCL)  1.12.1-dev
List of all members | Public Member Functions | Protected Member Functions | Static Protected Member Functions
pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType > Class Template Reference

Trainer for decision trees. More...

#include <pcl/ml/dt/decision_tree_trainer.h>

Public Member Functions

 DecisionTreeTrainer ()
 Constructor. More...
 
virtual ~DecisionTreeTrainer ()
 Destructor. More...
 
void setFeatureHandler (pcl::FeatureHandler< FeatureType, DataSet, ExampleIndex > &feature_handler)
 Sets the feature handler used to create and evaluate features. More...
 
void setStatsEstimator (pcl::StatsEstimator< LabelType, NodeType, DataSet, ExampleIndex > &stats_estimator)
 Sets the object for estimating the statistics for tree nodes. More...
 
void setMaxTreeDepth (const std::size_t max_tree_depth)
 Sets the maximum depth of the learned tree. More...
 
void setNumOfFeatures (const std::size_t num_of_features)
 Sets the number of features used to find optimal decision features. More...
 
void setNumOfThresholds (const std::size_t num_of_threshold)
 Sets the number of thresholds tested for finding the optimal decision threshold on the feature responses. More...
 
void setTrainingDataSet (DataSet &data_set)
 Sets the input data set used for training. More...
 
void setExamples (std::vector< ExampleIndex > &examples)
 Example indices that specify the data used for training. More...
 
void setLabelData (std::vector< LabelType > &label_data)
 Sets the label data corresponding to the example data. More...
 
void setMinExamplesForSplit (std::size_t n)
 Sets the minimum number of examples to continue growing a tree. More...
 
void setThresholds (std::vector< float > &thres)
 Specify the thresholds to be used when evaluating features. More...
 
void setDecisionTreeDataProvider (typename pcl::DecisionTreeTrainerDataProvider< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::Ptr &dtdp)
 Specify the data provider. More...
 
void setRandomFeaturesAtSplitNode (bool b)
 Specify if the features are randomly generated at each split node. More...
 
void train (DecisionTree< NodeType > &tree)
 Trains a decision tree using the set training data and settings. More...
 

Protected Member Functions

void trainDecisionTreeNode (std::vector< FeatureType > &features, std::vector< ExampleIndex > &examples, std::vector< LabelType > &label_data, std::size_t max_depth, NodeType &node)
 Trains a decision tree node from the specified features, label data, and examples. More...
 

Static Protected Member Functions

static void createThresholdsUniform (const std::size_t num_of_thresholds, std::vector< float > &values, std::vector< float > &thresholds)
 Creates uniformely distrebuted thresholds over the range of the supplied values. More...
 

Detailed Description

template<class FeatureType, class DataSet, class LabelType, class ExampleIndex, class NodeType>
class pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >

Trainer for decision trees.

Definition at line 56 of file decision_tree_trainer.h.

Constructor & Destructor Documentation

◆ DecisionTreeTrainer()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::DecisionTreeTrainer

Constructor.

Definition at line 47 of file decision_tree_trainer.hpp.

◆ ~DecisionTreeTrainer()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::~DecisionTreeTrainer ( )
virtualdefault

Destructor.

Member Function Documentation

◆ createThresholdsUniform()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
void pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::createThresholdsUniform ( const std::size_t  num_of_thresholds,
std::vector< float > &  values,
std::vector< float > &  thresholds 
)
staticprotected

Creates uniformely distrebuted thresholds over the range of the supplied values.

Parameters
[in]num_of_thresholdsthe number of thresholds to create
[in]valuesthe values for estimating the expected value range
[out]thresholdsthe resulting thresholds

Definition at line 276 of file decision_tree_trainer.hpp.

◆ setDecisionTreeDataProvider()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
void pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::setDecisionTreeDataProvider ( typename pcl::DecisionTreeTrainerDataProvider< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::Ptr &  dtdp)
inline

Specify the data provider.

Parameters
[in]dtdpthe data provider that should implement getDatasetAndLabels() function

Definition at line 174 of file decision_tree_trainer.h.

◆ setExamples()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
void pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::setExamples ( std::vector< ExampleIndex > &  examples)
inline

Example indices that specify the data used for training.

Parameters
[in]examplesthe examples

Definition at line 133 of file decision_tree_trainer.h.

◆ setFeatureHandler()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
void pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::setFeatureHandler ( pcl::FeatureHandler< FeatureType, DataSet, ExampleIndex > &  feature_handler)
inline

Sets the feature handler used to create and evaluate features.

Parameters
[in]feature_handlerthe feature handler

Definition at line 70 of file decision_tree_trainer.h.

◆ setLabelData()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
void pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::setLabelData ( std::vector< LabelType > &  label_data)
inline

Sets the label data corresponding to the example data.

Parameters
[in]label_datathe label data

Definition at line 143 of file decision_tree_trainer.h.

◆ setMaxTreeDepth()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
void pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::setMaxTreeDepth ( const std::size_t  max_tree_depth)
inline

Sets the maximum depth of the learned tree.

Parameters
[in]max_tree_depthmaximum depth of the learned tree

Definition at line 92 of file decision_tree_trainer.h.

◆ setMinExamplesForSplit()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
void pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::setMinExamplesForSplit ( std::size_t  n)
inline

Sets the minimum number of examples to continue growing a tree.

Parameters
[in]nnumber of examples

Definition at line 153 of file decision_tree_trainer.h.

◆ setNumOfFeatures()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
void pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::setNumOfFeatures ( const std::size_t  num_of_features)
inline

Sets the number of features used to find optimal decision features.

Parameters
[in]num_of_featuresthe number of features

Definition at line 102 of file decision_tree_trainer.h.

◆ setNumOfThresholds()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
void pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::setNumOfThresholds ( const std::size_t  num_of_threshold)
inline

Sets the number of thresholds tested for finding the optimal decision threshold on the feature responses.

Parameters
[in]num_of_thresholdthe number of thresholds

Definition at line 113 of file decision_tree_trainer.h.

◆ setRandomFeaturesAtSplitNode()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
void pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::setRandomFeaturesAtSplitNode ( bool  b)
inline

Specify if the features are randomly generated at each split node.

Parameters
[in]bdo it or not

Definition at line 189 of file decision_tree_trainer.h.

◆ setStatsEstimator()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
void pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::setStatsEstimator ( pcl::StatsEstimator< LabelType, NodeType, DataSet, ExampleIndex > &  stats_estimator)
inline

Sets the object for estimating the statistics for tree nodes.

Parameters
[in]stats_estimatorthe statistics estimator

Definition at line 81 of file decision_tree_trainer.h.

◆ setThresholds()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
void pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::setThresholds ( std::vector< float > &  thres)
inline

Specify the thresholds to be used when evaluating features.

Parameters
[in]thresthe threshold values

Definition at line 163 of file decision_tree_trainer.h.

◆ setTrainingDataSet()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
void pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::setTrainingDataSet ( DataSet &  data_set)
inline

Sets the input data set used for training.

Parameters
[in]data_setthe data set used for training

Definition at line 123 of file decision_tree_trainer.h.

◆ train()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
void pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::train ( pcl::DecisionTree< NodeType > &  tree)

Trains a decision tree using the set training data and settings.

Parameters
[out]treedestination for the trained tree

Definition at line 75 of file decision_tree_trainer.hpp.

References pcl::DecisionTree< NodeType >::getRoot(), and pcl::DecisionTree< NodeType >::setRoot().

◆ trainDecisionTreeNode()

template<class FeatureType , class DataSet , class LabelType , class ExampleIndex , class NodeType >
void pcl::DecisionTreeTrainer< FeatureType, DataSet, LabelType, ExampleIndex, NodeType >::trainDecisionTreeNode ( std::vector< FeatureType > &  features,
std::vector< ExampleIndex > &  examples,
std::vector< LabelType > &  label_data,
std::size_t  max_depth,
NodeType &  node 
)
protected

Trains a decision tree node from the specified features, label data, and examples.

Parameters
[in]featuresthe feature pool used for training
[in]examplesthe examples used for training
[in]label_datathe label data corresponding to the examples
[in]max_depththe maximum depth of the remaining tree
[out]nodethe resulting node

Definition at line 111 of file decision_tree_trainer.hpp.


The documentation for this class was generated from the following files: