Scroll to navigation

mlpack::decision_stump::DecisionStump< MatType >(3) MLPACK mlpack::decision_stump::DecisionStump< MatType >(3)

NAME

mlpack::decision_stump::DecisionStump< MatType > -
This class implements a decision stump.

SYNOPSIS

Public Member Functions


DecisionStump (const MatType &data, const arma::Row< size_t > &labels, const size_t classes, size_t inpBucketSize)
 
Constructor. DecisionStump (const DecisionStump<> &ds)
 
const arma::Col< size_t > BinLabels () const
 
Access the labels for each split bin. arma::Col< size_t > & BinLabels ()
 
Modify the labels for each split bin (be careful!). void Classify (const MatType &test, arma::Row< size_t > &predictedLabels)
 
Classification function. const arma::vec & Split () const
 
Access the splitting values. arma::vec & Split ()
 
Modify the splitting values (be careful!). int SplitAttribute () const
 
ModifyData(MatType& data, const arma::Row<double>& D);. int & SplitAttribute ()
 
Modify the splitting attribute (be careful!).

Private Member Functions


template<typename AttType , typename LabelType > double CalculateEntropy (arma::subview_row< LabelType > labels)
 
Calculate the entropy of the given attribute. template<typename rType > rType CountMostFreq (const arma::Row< rType > &subCols)
 
Count the most frequently occurring element in subCols. template<typename rType > int IsDistinct (const arma::Row< rType > &featureRow)
 
Returns 1 if all the values of featureRow are not same. void MergeRanges ()
 
After the 'split' matrix has been set up, merge ranges with identical class labels. double SetupSplitAttribute (const arma::rowvec &attribute, const arma::Row< size_t > &labels)
 
Sets up attribute as if it were splitting on it and finds entropy when splitting on attribute. template<typename rType > void TrainOnAtt (const arma::rowvec &attribute, const arma::Row< size_t > &labels)
 
After having decided the attribute on which to split, train on that attribute.

Private Attributes


arma::Col< size_t > binLabels
 
Stores the labels for each splitting bin. size_t bucketSize
 
Size of bucket while determining splitting criterion. size_t numClass
 
Stores the number of classes. arma::vec split
 
Stores the splitting values after training. int splitAttribute
 
Stores the value of the attribute on which to split.

Detailed Description

template<typename MatType = arma::mat>class mlpack::decision_stump::DecisionStump< MatType >

This class implements a decision stump.
It constructs a single level decision tree, i.e., a decision stump. It uses entropy to decide splitting ranges.
The stump is parameterized by a splitting attribute (the dimension on which points are split), a vector of bin split values, and a vector of labels for each bin. Bin i is specified by the range [split[i], split[i + 1]). The last bin has range up to (split[i + 1] does not exist in that case). Points that are below the first bin will take the label of the first bin.
Template Parameters:
MatType Type of matrix that is being used (sparse or dense).
Definition at line 44 of file decision_stump.hpp.

Constructor & Destructor Documentation

template<typename MatType = arma::mat> mlpack::decision_stump::DecisionStump< MatType >:: DecisionStump (const MatType &data, const arma::Row< size_t > &labels, const size_tclasses, size_tinpBucketSize)

Constructor. Train on the provided data. Generate a decision stump from data.
Parameters:
data Input, training data.
 
labels Labels of training data.
 
classes Number of distinct classes in labels.
 
inpBucketSize Minimum size of bucket when splitting.

template<typename MatType = arma::mat> mlpack::decision_stump::DecisionStump< MatType >:: DecisionStump (const DecisionStump<> &ds)

Member Function Documentation

template<typename MatType = arma::mat> const arma::Col<size_t> mlpack::decision_stump::DecisionStump< MatType >::BinLabels () const [inline]

Access the labels for each split bin.
Definition at line 100 of file decision_stump.hpp.
References mlpack::decision_stump::DecisionStump< MatType >::binLabels.

template<typename MatType = arma::mat> arma::Col<size_t>& mlpack::decision_stump::DecisionStump< MatType >::BinLabels () [inline]

Modify the labels for each split bin (be careful!).
Definition at line 102 of file decision_stump.hpp.
References mlpack::decision_stump::DecisionStump< MatType >::binLabels.

template<typename MatType = arma::mat> template<typename AttType , typename LabelType > double mlpack::decision_stump::DecisionStump< MatType >::CalculateEntropy (arma::subview_row< LabelType >labels) [private]

Calculate the entropy of the given attribute.
Parameters:
attribute The attribute of which we calculate the entropy.
 
labels Corresponding labels of the attribute.

template<typename MatType = arma::mat> void mlpack::decision_stump::DecisionStump< MatType >::Classify (const MatType &test, arma::Row< size_t > &predictedLabels)

Classification function. After training, classify test, and put the predicted classes in predictedLabels.
Parameters:
test Testing data or data to classify.
 
predictedLabels Vector to store the predicted classes after classifying test data.

template<typename MatType = arma::mat> template<typename rType > rType mlpack::decision_stump::DecisionStump< MatType >::CountMostFreq (const arma::Row< rType > &subCols) [private]

Count the most frequently occurring element in subCols.
Parameters:
subCols The vector in which to find the most frequently occurring element.

template<typename MatType = arma::mat> template<typename rType > int mlpack::decision_stump::DecisionStump< MatType >::IsDistinct (const arma::Row< rType > &featureRow) [private]

Returns 1 if all the values of featureRow are not same.
Parameters:
featureRow The attribute which is checked for identical values.

template<typename MatType = arma::mat> void mlpack::decision_stump::DecisionStump< MatType >::MergeRanges () [private]

After the 'split' matrix has been set up, merge ranges with identical class labels.

template<typename MatType = arma::mat> double mlpack::decision_stump::DecisionStump< MatType >::SetupSplitAttribute (const arma::rowvec &attribute, const arma::Row< size_t > &labels) [private]

Sets up attribute as if it were splitting on it and finds entropy when splitting on attribute.
Parameters:
attribute A row from the training data, which might be a candidate for the splitting attribute.

template<typename MatType = arma::mat> const arma::vec& mlpack::decision_stump::DecisionStump< MatType >::Split () const [inline]

Access the splitting values.
Definition at line 95 of file decision_stump.hpp.
References mlpack::decision_stump::DecisionStump< MatType >::split.

template<typename MatType = arma::mat> arma::vec& mlpack::decision_stump::DecisionStump< MatType >::Split () [inline]

Modify the splitting values (be careful!).
Definition at line 97 of file decision_stump.hpp.
References mlpack::decision_stump::DecisionStump< MatType >::split.

template<typename MatType = arma::mat> int mlpack::decision_stump::DecisionStump< MatType >::SplitAttribute () const [inline]

ModifyData(MatType& data, const arma::Row<double>& D);. Access the splitting attribute.
Definition at line 90 of file decision_stump.hpp.

template<typename MatType = arma::mat> int& mlpack::decision_stump::DecisionStump< MatType >::SplitAttribute () [inline]

Modify the splitting attribute (be careful!).
Definition at line 92 of file decision_stump.hpp.
References mlpack::decision_stump::DecisionStump< MatType >::splitAttribute.

template<typename MatType = arma::mat> template<typename rType > void mlpack::decision_stump::DecisionStump< MatType >::TrainOnAtt (const arma::rowvec &attribute, const arma::Row< size_t > &labels) [private]

After having decided the attribute on which to split, train on that attribute.
Parameters:
attribute attribute is the attribute decided by the constructor on which we now train the decision stump.

Member Data Documentation

template<typename MatType = arma::mat> arma::Col<size_t> mlpack::decision_stump::DecisionStump< MatType >::binLabels [private]

Stores the labels for each splitting bin.
Definition at line 118 of file decision_stump.hpp.
Referenced by mlpack::decision_stump::DecisionStump< MatType >::BinLabels().

template<typename MatType = arma::mat> size_t mlpack::decision_stump::DecisionStump< MatType >::bucketSize [private]

Size of bucket while determining splitting criterion.
Definition at line 112 of file decision_stump.hpp.

template<typename MatType = arma::mat> size_t mlpack::decision_stump::DecisionStump< MatType >::numClass [private]

Stores the number of classes.
Definition at line 106 of file decision_stump.hpp.

template<typename MatType = arma::mat> arma::vec mlpack::decision_stump::DecisionStump< MatType >::split [private]

Stores the splitting values after training.
Definition at line 115 of file decision_stump.hpp.
Referenced by mlpack::decision_stump::DecisionStump< MatType >::Split().

template<typename MatType = arma::mat> int mlpack::decision_stump::DecisionStump< MatType >::splitAttribute [private]

Stores the value of the attribute on which to split.
Definition at line 109 of file decision_stump.hpp.
Referenced by mlpack::decision_stump::DecisionStump< MatType >::SplitAttribute().

Author

Generated automatically by Doxygen for MLPACK from the source code.
Tue Sep 9 2014 Version 1.0.10