| mlpack
    master
    | 
This class is a serializable Hoeffding tree model that can hold four different types of Hoeffding trees. More...
| Public Types | |
| typedef HoeffdingTree< GiniImpurity, BinaryDoubleNumericSplit, HoeffdingCategoricalSplit > | GiniBinaryTreeType | 
| Convenience typedef for GINI_BINARY tree type.  More... | |
| typedef HoeffdingTree< GiniImpurity, HoeffdingDoubleNumericSplit, HoeffdingCategoricalSplit > | GiniHoeffdingTreeType | 
| Convenience typedef for GINI_HOEFFDING tree type.  More... | |
| typedef HoeffdingTree< InformationGain, BinaryDoubleNumericSplit, HoeffdingCategoricalSplit > | InfoBinaryTreeType | 
| Convenience typedef for INFO_BINARY tree type.  More... | |
| typedef HoeffdingTree< InformationGain, HoeffdingDoubleNumericSplit, HoeffdingCategoricalSplit > | InfoHoeffdingTreeType | 
| Convenience typedef for INFO_HOEFFDING tree type.  More... | |
| enum | TreeType { GINI_HOEFFDING, GINI_BINARY, INFO_HOEFFDING, INFO_BINARY } | 
| This enumerates the four types of trees we can hold.  More... | |
| Public Member Functions | |
| HoeffdingTreeModel (const TreeType &type=GINI_HOEFFDING) | |
| Construct the Hoeffding tree model, but don't initialize any tree.  More... | |
| HoeffdingTreeModel (const HoeffdingTreeModel &other) | |
| Copy the Hoeffding tree model from the given other model.  More... | |
| HoeffdingTreeModel (HoeffdingTreeModel &&other) | |
| Move the Hoeffding tree model from the given other model.  More... | |
| ~HoeffdingTreeModel () | |
| Clean up the given model.  More... | |
| void | BuildModel (const arma::mat &dataset, const data::DatasetInfo &datasetInfo, const arma::Row< size_t > &labels, const size_t numClasses, const bool batchTraining, const double successProbability, const size_t maxSamples, const size_t checkInterval, const size_t minSamples, const size_t bins, const size_t observationsBeforeBinning) | 
| Train the model on the given dataset with the given labels.  More... | |
| void | Classify (const arma::mat &dataset, arma::Row< size_t > &predictions) const | 
| Using the model, classify the given test points.  More... | |
| void | Classify (const arma::mat &dataset, arma::Row< size_t > &predictions, arma::rowvec &probabilities) const | 
| Using the model, classify the given test points, returning class probabilities.  More... | |
| size_t | NumNodes () const | 
| Get the number of nodes in the tree.  More... | |
| HoeffdingTreeModel & | operator= (const HoeffdingTreeModel &other) | 
| Copy the Hoeffding tree model from the given other model.  More... | |
| HoeffdingTreeModel & | operator= (HoeffdingTreeModel &&other) | 
| Move the Hoeffding tree model from the given other model.  More... | |
| template<typename Archive > | |
| void | Serialize (Archive &ar, const unsigned int) | 
| Serialize the model.  More... | |
| void | Train (const arma::mat &dataset, const arma::Row< size_t > &labels, const bool batchTraining) | 
| Train in streaming mode on the given dataset.  More... | |
| Private Attributes | |
| GiniBinaryTreeType * | giniBinaryTree | 
| This is used if we are using the Gini impurity and the binary numeric split.  More... | |
| GiniHoeffdingTreeType * | giniHoeffdingTree | 
| This is used if we are using the Gini impurity and the Hoeffding numeric split.  More... | |
| InfoBinaryTreeType * | infoBinaryTree | 
| This is used if we are using the information gain and the binary numeric split.  More... | |
| InfoHoeffdingTreeType * | infoHoeffdingTree | 
| This is used if we are using the information gain and the Hoeffding numeric split.  More... | |
| TreeType | type | 
| The type of tree we are using.  More... | |
This class is a serializable Hoeffding tree model that can hold four different types of Hoeffding trees.
It is meant to be used by the command-line program for Hoeffding trees.
Definition at line 22 of file hoeffding_tree_model.hpp.
| typedef HoeffdingTree<GiniImpurity, BinaryDoubleNumericSplit, HoeffdingCategoricalSplit> mlpack::tree::HoeffdingTreeModel::GiniBinaryTreeType | 
Convenience typedef for GINI_BINARY tree type.
Definition at line 39 of file hoeffding_tree_model.hpp.
| typedef HoeffdingTree<GiniImpurity, HoeffdingDoubleNumericSplit, HoeffdingCategoricalSplit> mlpack::tree::HoeffdingTreeModel::GiniHoeffdingTreeType | 
Convenience typedef for GINI_HOEFFDING tree type.
Definition at line 36 of file hoeffding_tree_model.hpp.
| typedef HoeffdingTree<InformationGain, BinaryDoubleNumericSplit, HoeffdingCategoricalSplit> mlpack::tree::HoeffdingTreeModel::InfoBinaryTreeType | 
Convenience typedef for INFO_BINARY tree type.
Definition at line 45 of file hoeffding_tree_model.hpp.
| typedef HoeffdingTree<InformationGain, HoeffdingDoubleNumericSplit, HoeffdingCategoricalSplit> mlpack::tree::HoeffdingTreeModel::InfoHoeffdingTreeType | 
Convenience typedef for INFO_HOEFFDING tree type.
Definition at line 42 of file hoeffding_tree_model.hpp.
This enumerates the four types of trees we can hold.
| Enumerator | |
|---|---|
| GINI_HOEFFDING | |
| GINI_BINARY | |
| INFO_HOEFFDING | |
| INFO_BINARY | |
Definition at line 26 of file hoeffding_tree_model.hpp.
| mlpack::tree::HoeffdingTreeModel::HoeffdingTreeModel | ( | const TreeType & | type = GINI_HOEFFDING | ) | 
Construct the Hoeffding tree model, but don't initialize any tree.
Be sure to call Train() before doing anything with the model!
| type | Type of tree that will be used. | 
| mlpack::tree::HoeffdingTreeModel::HoeffdingTreeModel | ( | const HoeffdingTreeModel & | other | ) | 
Copy the Hoeffding tree model from the given other model.
| other | Hoeffding tree model to copy. | 
| mlpack::tree::HoeffdingTreeModel::HoeffdingTreeModel | ( | HoeffdingTreeModel && | other | ) | 
Move the Hoeffding tree model from the given other model.
| other | Hoeffding tree model to move. | 
| mlpack::tree::HoeffdingTreeModel::~HoeffdingTreeModel | ( | ) | 
Clean up the given model.
| void mlpack::tree::HoeffdingTreeModel::BuildModel | ( | const arma::mat & | dataset, | 
| const data::DatasetInfo & | datasetInfo, | ||
| const arma::Row< size_t > & | labels, | ||
| const size_t | numClasses, | ||
| const bool | batchTraining, | ||
| const double | successProbability, | ||
| const size_t | maxSamples, | ||
| const size_t | checkInterval, | ||
| const size_t | minSamples, | ||
| const size_t | bins, | ||
| const size_t | observationsBeforeBinning | ||
| ) | 
Train the model on the given dataset with the given labels.
This method just passes to the appropriate HoeffdingTree<...> constructor, and will train with one pass over the dataset.
| dataset | Dataset to train on. | 
| datasetInfo | Information about dimensions of dataset. | 
| labels | Labels for training set. | 
| numClasses | Number of classes in dataset. | 
| batchTraining | Whether or not to train in batch. | 
| successProbability | Probability of success required in Hoeffding bound before a split can happen. | 
| maxSamples | Maximum number of samples before a split is forced. | 
| checkInterval | Number of samples required before each split check. | 
| minSamples | If the node has seen this many points or fewer, no split will be allowed. | 
| bins | Number of bins, for Hoeffding numeric split. | 
| observationsBeforeBinning | Number of observations before binning, for Hoeffding numeric split. | 
| void mlpack::tree::HoeffdingTreeModel::Classify | ( | const arma::mat & | dataset, | 
| arma::Row< size_t > & | predictions | ||
| ) | const | 
Using the model, classify the given test points.
Be sure that BuildModel() has been called first!
| dataset | Dataset to classify. | 
| predictions | Vector to store predictions for test points in. | 
| void mlpack::tree::HoeffdingTreeModel::Classify | ( | const arma::mat & | dataset, | 
| arma::Row< size_t > & | predictions, | ||
| arma::rowvec & | probabilities | ||
| ) | const | 
Using the model, classify the given test points, returning class probabilities.
| dataset | Dataset to classify. | 
| predictions | Vector to store predictions for test points in. | 
| probabilities | Vector to store probabilities for test points in. | 
| size_t mlpack::tree::HoeffdingTreeModel::NumNodes | ( | ) | const | 
Get the number of nodes in the tree.
| HoeffdingTreeModel& mlpack::tree::HoeffdingTreeModel::operator= | ( | const HoeffdingTreeModel & | other | ) | 
Copy the Hoeffding tree model from the given other model.
| other | Hoeffding tree model to copy. | 
| HoeffdingTreeModel& mlpack::tree::HoeffdingTreeModel::operator= | ( | HoeffdingTreeModel && | other | ) | 
Move the Hoeffding tree model from the given other model.
| other | Hoeffding tree model to move. | 
| 
 | inline | 
Serialize the model.
Definition at line 164 of file hoeffding_tree_model.hpp.
References mlpack::data::CreateNVP(), GINI_BINARY, GINI_HOEFFDING, giniBinaryTree, giniHoeffdingTree, INFO_BINARY, INFO_HOEFFDING, infoBinaryTree, infoHoeffdingTree, and type.
| void mlpack::tree::HoeffdingTreeModel::Train | ( | const arma::mat & | dataset, | 
| const arma::Row< size_t > & | labels, | ||
| const bool | batchTraining | ||
| ) | 
Train in streaming mode on the given dataset.
This takes one pass. Be sure that BuildModel() has been called first!
| dataset | Dataset to train on. | 
| labels | Labels for training set. | 
| batchTraining | Whether or not to train in batch. | 
| 
 | private | 
This is used if we are using the Gini impurity and the binary numeric split.
Definition at line 224 of file hoeffding_tree_model.hpp.
Referenced by Serialize().
| 
 | private | 
This is used if we are using the Gini impurity and the Hoeffding numeric split.
Definition at line 220 of file hoeffding_tree_model.hpp.
Referenced by Serialize().
| 
 | private | 
This is used if we are using the information gain and the binary numeric split.
Definition at line 232 of file hoeffding_tree_model.hpp.
Referenced by Serialize().
| 
 | private | 
This is used if we are using the information gain and the Hoeffding numeric split.
Definition at line 228 of file hoeffding_tree_model.hpp.
Referenced by Serialize().
| 
 | private | 
The type of tree we are using.
Definition at line 216 of file hoeffding_tree_model.hpp.
Referenced by Serialize().
 1.8.11
 1.8.11