ATLAS Offline Software
Loading...
Searching...
No Matches
MVAUtils::ForestXGBoostBase< Node_t > Class Template Referenceabstract

#include <ForestXGBoost.h>

Inheritance diagram for MVAUtils::ForestXGBoostBase< Node_t >:
Collaboration diagram for MVAUtils::ForestXGBoostBase< Node_t >:

Public Member Functions

virtual float GetClassification (const std::vector< float > &values) const final
 Compute the prediction of a classification.
virtual float GetClassification (const std::vector< float * > &pointers) const final
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.
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.
virtual float GetRawResponse (const std::vector< float > &values) const override final
 Return the response of the whole Forest.
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.
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).
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.
virtual TTree * WriteTree (TString) const =0
 Return a TTree representing the BDT.
virtual int GetNVars () const =0
 Get the number of input variable to be passed with std::vector to Get* methods.

Protected Member Functions

float GetTreeResponseFromNode (const std::vector< float > &values, index_t index) const
 Get the response of a tree.
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

Private Attributes

std::vector< index_tm_forest
 indices of the top-level nodes of each tree
std::vector< Node_t > m_nodes
 where the nodes of the forest are stored

Detailed Description

template<typename Node_t>
class MVAUtils::ForestXGBoostBase< Node_t >

Definition at line 28 of file ForestXGBoost.h.

Member Function Documentation

◆ GetClassification() [1/2]

template<typename Node_t>
virtual float MVAUtils::ForestXGBoostBase< Node_t >::GetClassification ( const std::vector< float * > & pointers) const
inlinefinalvirtual

Implements MVAUtils::IForest.

Definition at line 37 of file ForestXGBoost.h.

38 {
40 }
virtual float GetResponse(const std::vector< float > &values) const override
Compute the prediction for regression.
T sigmoid(T x)
Definition Forest.h:21

◆ GetClassification() [2/2]

template<typename Node_t>
virtual float MVAUtils::ForestXGBoostBase< Node_t >::GetClassification ( const std::vector< float > & values) const
inlinefinalvirtual

Compute the prediction of a classification.

Implements MVAUtils::IForest.

Definition at line 33 of file ForestXGBoost.h.

34 {
36 }

◆ GetMultiResponse() [1/2]

template<typename Node_t>
virtual std::vector< float > MVAUtils::Forest< Node_t >::GetMultiResponse ( const std::vector< float * > & pointers,
unsigned int numClasses ) const
overridevirtualinherited

Implements MVAUtils::IForest.

◆ GetMultiResponse() [2/2]

template<typename Node_t>
virtual std::vector< float > MVAUtils::Forest< Node_t >::GetMultiResponse ( const std::vector< float > & values,
unsigned int numClasses ) const
overridevirtualinherited

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.

◆ GetNTrees()

template<typename Node_t>
virtual unsigned int MVAUtils::Forest< Node_t >::GetNTrees ( ) const
inlinefinaloverridevirtualinherited

Implements MVAUtils::IForest.

Definition at line 94 of file Forest.h.

95 {
96 return m_forest.size();
97 }
std::vector< index_t > m_forest
indices of the top-level nodes of each tree
Definition Forest.h:117

◆ GetNVars()

virtual int MVAUtils::IForest::GetNVars ( ) const
pure virtualinherited

Get the number of input variable to be passed with std::vector to Get* methods.

Implemented in MVAUtils::ForestLGBM, MVAUtils::ForestLGBMSimple, MVAUtils::ForestTMVA, and MVAUtils::ForestXGBoost.

◆ GetOffset()

template<typename Node_t>
virtual float MVAUtils::Forest< Node_t >::GetOffset ( ) const
inlineoverridevirtualinherited

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 >.

Definition at line 63 of file Forest.h.

63{ return 0.; }

◆ GetRawResponse() [1/2]

template<typename Node_t>
virtual float MVAUtils::Forest< Node_t >::GetRawResponse ( const std::vector< float * > & pointers) const
finaloverridevirtualinherited

Implements MVAUtils::IForest.

◆ GetRawResponse() [2/2]

template<typename Node_t>
virtual float MVAUtils::Forest< Node_t >::GetRawResponse ( const std::vector< float > & values) const
finaloverridevirtualinherited

Return the response of the whole Forest.

Raw is just the sum of all the trees

Implements MVAUtils::IForest.

◆ GetResponse() [1/2]

template<typename Node_t>
virtual float MVAUtils::Forest< Node_t >::GetResponse ( const std::vector< float * > & pointers) const
overridevirtualinherited

Implements MVAUtils::IForest.

◆ GetResponse() [2/2]

template<typename Node_t>
virtual float MVAUtils::Forest< Node_t >::GetResponse ( const std::vector< float > & values) const
overridevirtualinherited

Compute the prediction for regression.

Implements MVAUtils::IForest.

Reimplemented in MVAUtils::ForestTMVA.

◆ GetTree()

template<typename Node_t>
std::vector< Node_t > MVAUtils::Forest< Node_t >::GetTree ( unsigned int itree) const
inherited

Return the vector of nodes for the tree itree.

◆ GetTreeResponse() [1/2]

template<typename Node_t>
virtual float MVAUtils::Forest< Node_t >::GetTreeResponse ( const std::vector< float * > & pointers,
unsigned int itree ) const
finaloverridevirtualinherited

Implements MVAUtils::IForest.

◆ GetTreeResponse() [2/2]

template<typename Node_t>
virtual float MVAUtils::Forest< Node_t >::GetTreeResponse ( const std::vector< float > & values,
unsigned int itree ) const
finaloverridevirtualinherited

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.

◆ GetTreeResponseFromNode() [1/2]

template<typename Node_t>
float MVAUtils::Forest< Node_t >::GetTreeResponseFromNode ( const std::vector< float * > & pointers,
index_t index ) const
protectedinherited

◆ GetTreeResponseFromNode() [2/2]

template<typename Node_t>
float MVAUtils::Forest< Node_t >::GetTreeResponseFromNode ( const std::vector< float > & values,
index_t index ) const
protectedinherited

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

◆ newTree()

template<typename Node_t>
void MVAUtils::Forest< Node_t >::newTree ( const std::vector< Node_t > & nodes)
protectedinherited

append a new tree (defined by a vector of nodes serialized in preorder) to the forest

◆ PrintForest()

template<typename Node_t>
virtual void MVAUtils::Forest< Node_t >::PrintForest ( ) const
overridevirtualinherited

◆ PrintTree()

template<typename Node_t>
virtual void MVAUtils::Forest< Node_t >::PrintTree ( unsigned int itree) const
overridevirtualinherited

◆ WriteTree()

virtual TTree * MVAUtils::IForest::WriteTree ( TString ) const
pure virtualinherited

Return a TTree representing the BDT.

The called is the owner of the returned TTree

Implemented in MVAUtils::ForestLGBM, MVAUtils::ForestLGBMSimple, MVAUtils::ForestTMVA, and MVAUtils::ForestXGBoost.

Member Data Documentation

◆ m_forest

template<typename Node_t>
std::vector<index_t> MVAUtils::Forest< Node_t >::m_forest
privateinherited

indices of the top-level nodes of each tree

Definition at line 117 of file Forest.h.

◆ m_nodes

template<typename Node_t>
std::vector<Node_t> MVAUtils::Forest< Node_t >::m_nodes
privateinherited

where the nodes of the forest are stored

Definition at line 118 of file Forest.h.


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