ATLAS Offline Software
|
Generic Forest base class. More...
#include <Forest.h>
Public Member Functions | |
virtual float | GetTreeResponse (const std::vector< float > &values, unsigned int itree) const override final |
Return the response of one tree Must pass the features in a std::vector<float> values and the index of the tree. More... | |
virtual float | GetTreeResponse (const std::vector< float * > &pointers, unsigned int itree) const override final |
virtual float | GetOffset () const override |
Return the offset of the forest. More... | |
virtual float | GetRawResponse (const std::vector< float > &values) const override final |
Return the response of the whole Forest. More... | |
virtual float | GetRawResponse (const std::vector< float * > &pointers) const override final |
virtual float | GetResponse (const std::vector< float > &values) const override |
Compute the prediction for regression. More... | |
virtual float | GetResponse (const std::vector< float * > &pointers) const override |
virtual std::vector< float > | GetMultiResponse (const std::vector< float > &values, unsigned int numClasses) const override |
Compute the prediction for multiclassification (a score for each class). More... | |
virtual std::vector< float > | GetMultiResponse (const std::vector< float * > &pointers, unsigned int numClasses) const override |
virtual unsigned int | GetNTrees () const override final |
virtual void | PrintForest () const override |
virtual void | PrintTree (unsigned int itree) const override |
std::vector< Node_t > | GetTree (unsigned int itree) const |
Return the vector of nodes for the tree itree. More... | |
virtual float | GetClassification (const std::vector< float > &values) const =0 |
Compute the prediction of a classification. More... | |
virtual float | GetClassification (const std::vector< float * > &pointers) const =0 |
virtual TTree * | WriteTree (TString) const =0 |
Return a TTree representing the BDT. More... | |
virtual int | GetNVars () const =0 |
Get the number of input variable to be passed with std::vector to Get* methods. More... | |
Protected Member Functions | |
float | GetTreeResponseFromNode (const std::vector< float > &values, index_t index) const |
Get the response of a tree. More... | |
float | GetTreeResponseFromNode (const std::vector< float * > &pointers, index_t index) const |
void | newTree (const std::vector< Node_t > &nodes) |
append a new tree (defined by a vector of nodes serialized in preorder) to the forest More... | |
Private Attributes | |
std::vector< index_t > | m_forest |
indices of the top-level nodes of each tree More... | |
std::vector< Node_t > | m_nodes |
where the nodes of the forest are stored More... | |
Generic Forest base class.
It implements only the non-specific methods. It implement a representation of the forest and basic methods that are common to the other implementations. It does not provide a contructor since that is specific to derived classes. Concrete classes should derive from this.
The goal of this class is to manage the creation and the computation of the raw-response of the trees. Derived class should implement how the raw-response of the trees are used to compute the final predictions. Some prediction methods (e.g. GetResponseMulticlass) are implemented here since they are common to the present final concrete classes (TMVA/lgbm)
|
pure virtualinherited |
|
pure virtualinherited |
Compute the prediction of a classification.
Implemented in MVAUtils::ForestTMVA, MVAUtils::ForestXGBoostBase< Node_t >, MVAUtils::ForestXGBoostBase< NodeXGBoost >, MVAUtils::ForestLGBMBase< Node_t >, MVAUtils::ForestLGBMBase< NodeLGBM >, and MVAUtils::ForestLGBMBase< NodeLGBMSimple >.
|
overridevirtual |
Implements MVAUtils::IForest.
|
overridevirtual |
Compute the prediction for multiclassification (a score for each class).
In addition to the input values need to pass the number of classes
Implements MVAUtils::IForest.
|
inlinefinaloverridevirtual |
Implements MVAUtils::IForest.
|
pure virtualinherited |
Get the number of input variable to be passed with std::vector to Get* methods.
Implemented in MVAUtils::ForestTMVA, MVAUtils::ForestLGBM, MVAUtils::ForestXGBoost, and MVAUtils::ForestLGBMSimple.
|
inlineoverridevirtual |
Return the offset of the forest.
Since by default there is no offset, return 0
Implements MVAUtils::IForest.
Reimplemented in MVAUtils::ForestWeighted< Node_t >, and MVAUtils::ForestWeighted< NodeTMVA >.
|
finaloverridevirtual |
Implements MVAUtils::IForest.
|
finaloverridevirtual |
Return the response of the whole Forest.
Raw is just the sum of all the trees
Implements MVAUtils::IForest.
|
overridevirtual |
Implements MVAUtils::IForest.
Reimplemented in MVAUtils::ForestTMVA.
|
overridevirtual |
Compute the prediction for regression.
Implements MVAUtils::IForest.
Reimplemented in MVAUtils::ForestTMVA.
std::vector<Node_t> MVAUtils::Forest< Node_t >::GetTree | ( | unsigned int | itree | ) | const |
Return the vector of nodes for the tree itree.
|
finaloverridevirtual |
Implements MVAUtils::IForest.
|
finaloverridevirtual |
Return the response of one tree Must pass the features in a std::vector<float> values and the index of the tree.
Implements MVAUtils::IForest.
|
protected |
|
protected |
Get the response of a tree.
Instead of specifying the index of the tree (as in GetTreeResponse) the index of the top node of the tree should be specified
|
protected |
append a new tree (defined by a vector of nodes serialized in preorder) to the forest
|
overridevirtual |
Implements MVAUtils::IForest.
|
overridevirtual |
Implements MVAUtils::IForest.
Reimplemented in MVAUtils::ForestWeighted< Node_t >, and MVAUtils::ForestWeighted< NodeTMVA >.
|
pure virtualinherited |
Return a TTree representing the BDT.
The called is the owner of the returned TTree
Implemented in MVAUtils::ForestTMVA, MVAUtils::ForestLGBM, MVAUtils::ForestXGBoost, and MVAUtils::ForestLGBMSimple.
|
private |
|
private |