mlpack
2.2.5
|
This class implements a decision stump. More...
Public Member Functions | |
DecisionStump (const MatType &data, const arma::Row< size_t > &labels, const size_t classes, const size_t bucketSize=10) | |
Constructor. More... | |
DecisionStump (const DecisionStump<> &other, const MatType &data, const arma::Row< size_t > &labels, const arma::rowvec &weights) | |
Alternate constructor which copies the parameters bucketSize and classes from an already initiated decision stump, other. More... | |
DecisionStump () | |
Create a decision stump without training. More... | |
const arma::Col< size_t > | BinLabels () const |
Access the labels for each split bin. More... | |
arma::Col< size_t > & | BinLabels () |
Modify the labels for each split bin (be careful!). More... | |
void | Classify (const MatType &test, arma::Row< size_t > &predictedLabels) |
Classification function. More... | |
template<typename Archive > | |
void | Serialize (Archive &ar, const unsigned int) |
Serialize the decision stump. More... | |
const arma::vec & | Split () const |
Access the splitting values. More... | |
arma::vec & | Split () |
Modify the splitting values (be careful!). More... | |
size_t | SplitDimension () const |
Access the splitting dimension. More... | |
size_t & | SplitDimension () |
Modify the splitting dimension (be careful!). More... | |
void | Train (const MatType &data, const arma::Row< size_t > &labels, const size_t classes, const size_t bucketSize) |
Train the decision stump on the given data. More... | |
void | Train (const MatType &data, const arma::Row< size_t > &labels, const arma::rowvec &weights, const size_t classes, const size_t bucketSize) |
Train the decision stump on the given data, with the given weights. More... | |
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 dimension (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.
MatType | Type of matrix that is being used (sparse or dense). |
Definition at line 34 of file decision_stump.hpp.
DecisionStump | ( | const MatType & | data, |
const arma::Row< size_t > & | labels, | ||
const size_t | classes, | ||
const size_t | bucketSize = 10 |
||
) |
Constructor.
Train on the provided data. Generate a decision stump from data.
data | Input, training data. |
labels | Labels of training data. |
classes | Number of distinct classes in labels. |
bucketSize | Minimum size of bucket when splitting. |
DecisionStump | ( | const DecisionStump<> & | other, |
const MatType & | data, | ||
const arma::Row< size_t > & | labels, | ||
const arma::rowvec & | weights | ||
) |
Alternate constructor which copies the parameters bucketSize and classes from an already initiated decision stump, other.
It appropriately sets the weight vector.
other | The other initiated Decision Stump object from which we copy the values. |
data | The data on which to train this object on. |
labels | The labels of data. |
weights | Weight vector to use while training. For boosting purposes. |
DecisionStump | ( | ) |
Create a decision stump without training.
This stump will not be useful and will always return a class of 0 for anything that is to be classified, so it would be a prudent idea to call Train() after using this constructor.
|
inline |
Access the labels for each split bin.
Definition at line 127 of file decision_stump.hpp.
|
inline |
Modify the labels for each split bin (be careful!).
Definition at line 129 of file decision_stump.hpp.
void Classify | ( | const MatType & | test, |
arma::Row< size_t > & | predictedLabels | ||
) |
Classification function.
After training, classify test, and put the predicted classes in predictedLabels.
test | Testing data or data to classify. |
predictedLabels | Vector to store the predicted classes after classifying test data. |
void Serialize | ( | Archive & | ar, |
const unsigned | int | ||
) |
Serialize the decision stump.
|
inline |
Access the splitting values.
Definition at line 122 of file decision_stump.hpp.
|
inline |
Modify the splitting values (be careful!).
Definition at line 124 of file decision_stump.hpp.
|
inline |
Access the splitting dimension.
Definition at line 117 of file decision_stump.hpp.
|
inline |
Modify the splitting dimension (be careful!).
Definition at line 119 of file decision_stump.hpp.
void Train | ( | const MatType & | data, |
const arma::Row< size_t > & | labels, | ||
const size_t | classes, | ||
const size_t | bucketSize | ||
) |
Train the decision stump on the given data.
This completely overwrites any previous training data, so after training the stump may be completely different.
data | Dataset to train on. |
labels | Labels for each point in the dataset. |
classes | Number of classes in the dataset. |
bucketSize | Minimum size of bucket when splitting. |
void Train | ( | const MatType & | data, |
const arma::Row< size_t > & | labels, | ||
const arma::rowvec & | weights, | ||
const size_t | classes, | ||
const size_t | bucketSize | ||
) |
Train the decision stump on the given data, with the given weights.
This completely overwrites any previous training data, so after training the stump may be completely different.
data | Dataset to train on. |
labels | Labels for each point in the dataset. |
weights | Weights for each point in the dataset. |
classes | Number of classes in the dataset. |
bucketSize | Minimum size of bucket when splitting. |