Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
TMVA::RuleFit Class Reference

A class implementing various fits of rule ensembles.

Definition at line 46 of file RuleFit.h.

Public Member Functions

 RuleFit (const TMVA::MethodBase *rfbase)
 constructor
 RuleFit (void)
 default constructor
virtual ~RuleFit (void)
 destructor
void Boost (TMVA::DecisionTree *dt)
 Boost the events.
void BuildTree (TMVA::DecisionTree *dt)
 build the decision tree using fNTreeSample events from fTrainingEventsRndm
void CalcImportance ()
 calculates the importance of each rule
Double_t CalcWeightSum (const std::vector< const TMVA::Event * > *events, UInt_t neve=0)
 calculate the sum of weights
Double_t EvalEvent (const Event &e)
 evaluate single event
void FillCorr (TH2F *h2, const TMVA::Rule *rule, Int_t v1, Int_t v2)
 fill rule correlation between vx and vy, weighted with either the importance or the coefficient
void FillCut (TH2F *h2, const TMVA::Rule *rule, Int_t vind)
 Fill cut.
void FillLin (TH2F *h2, Int_t vind)
 fill lin
void FillVisHistCorr (const Rule *rule, std::vector< TH2F * > &hlist)
 help routine to MakeVisHists() - fills for all correlation plots
void FillVisHistCut (const Rule *rule, std::vector< TH2F * > &hlist)
 help routine to MakeVisHists() - fills for all variables
void FitCoefficients ()
 Fit the coefficients for the rule ensemble.
void ForestStatistics ()
 summary of statistics of all trees
Bool_t GetCorrVars (TString &title, TString &var1, TString &var2)
 get first and second variables from title
const std::vector< const TMVA::DecisionTree * > & GetForest () const
const MethodBaseGetMethodBase () const
const MethodRuleFitGetMethodRuleFit () const
Double_t GetNEveEff () const
UInt_t GetNTreeSample () const
void GetRndmSampleEvents (std::vector< const TMVA::Event * > &evevec, UInt_t nevents)
 draw a random subsample of the training events without replacement
const RuleEnsembleGetRuleEnsemble () const
RuleEnsembleGetRuleEnsemblePtr ()
const RuleFitParamsGetRuleFitParams () const
RuleFitParamsGetRuleFitParamsPtr ()
const EventGetTrainingEvent (UInt_t i) const
const std::vector< const TMVA::Event * > & GetTrainingEvents () const
Double_t GetTrainingEventWeight (UInt_t i) const
void Initialize (const TMVA::MethodBase *rfbase)
 initialize the parameters of the RuleFit method and make rules
void InitNEveEff ()
 init effective number of events (using event weights)
void InitPtrs (const TMVA::MethodBase *rfbase)
 initialize pointers
virtual TClassIsA () const
void MakeDebugHists ()
 this will create a histograms intended rather for debugging or for the curious user
void MakeForest ()
 make a forest of decisiontrees
void MakeVisHists ()
 this will create histograms visualizing the rule ensemble
void NormVisHists (std::vector< TH2F * > &hlist)
 normalize rule importance hists
void ReshuffleEvents ()
void RestoreEventWeights ()
 save event weights - must be done before making the forest
void SaveEventWeights ()
 save event weights - must be done before making the forest
void SetGDNPathSteps (Int_t n=100)
void SetGDPathStep (Double_t s=0.01)
void SetGDTau (Double_t t=0.0)
void SetImportanceCut (Double_t minimp=0)
void SetMethodBase (const MethodBase *rfbase)
 set MethodBase
void SetModelFull ()
void SetModelLinear ()
void SetModelRules ()
void SetMsgType (EMsgType t)
 set the current message type to that of mlog for this class and all other subtools
void SetRuleMinDist (Double_t d)
void SetTrainingEvents (const std::vector< const TMVA::Event * > &el)
 set the training events randomly
void SetVisHistsUseImp (Bool_t f)
virtual void Streamer (TBuffer &)
void StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b)
void UseCoefficientsVisHists ()
void UseImportanceVisHists ()

Static Public Member Functions

static TClassClass ()
static const char * Class_Name ()
static constexpr Version_t Class_Version ()
static const char * DeclFileName ()

Private Member Functions

 RuleFit (const RuleFit &other)
void Copy (const RuleFit &other)
 copy method
MsgLoggerLog () const

Private Attributes

std::vector< Double_tfEventWeights
 original weights of the events - follows fTrainingEvents
std::vector< const TMVA::DecisionTree * > fForest
 the input forest of decision trees
MsgLoggerfLogger
 ! message logger
const MethodBasefMethodBase
 pointer the method base which initialized this RuleFit instance
const MethodRuleFitfMethodRuleFit
 pointer the method which initialized this RuleFit instance
Double_t fNEveEffTrain
 reweighted number of events = sum(wi)
UInt_t fNTreeSample
 number of events in sub sample = frac*neve
std::default_random_engine fRNGEngine
RuleEnsemble fRuleEnsemble
 the ensemble of rules
RuleFitParams fRuleFitParams
 fit rule parameters
std::vector< const TMVA::Event * > fTrainingEvents
 all training events
std::vector< const TMVA::Event * > fTrainingEventsRndm
 idem, but randomly shuffled
Bool_t fVisHistsUseImp
 if true, use importance as weight; else coef in vis hists

Static Private Attributes

static const Int_t randSEED = 0

#include <TMVA/RuleFit.h>

Constructor & Destructor Documentation

◆ RuleFit() [1/3]

TMVA::RuleFit::RuleFit ( const TMVA::MethodBase * rfbase)

constructor

Definition at line 63 of file RuleFit.cxx.

◆ RuleFit() [2/3]

TMVA::RuleFit::RuleFit ( void )

default constructor

Definition at line 74 of file RuleFit.cxx.

◆ ~RuleFit()

TMVA::RuleFit::~RuleFit ( void )
virtual

destructor

Definition at line 88 of file RuleFit.cxx.

◆ RuleFit() [3/3]

TMVA::RuleFit::RuleFit ( const RuleFit & other)
private

Member Function Documentation

◆ Boost()

void TMVA::RuleFit::Boost ( TMVA::DecisionTree * dt)

Boost the events.

The algorithm below is the called AdaBoost. See MethodBDT for details. Actually, this is a more or less copy of MethodBDT::AdaBoost().

Definition at line 327 of file RuleFit.cxx.

◆ BuildTree()

void TMVA::RuleFit::BuildTree ( TMVA::DecisionTree * dt)

build the decision tree using fNTreeSample events from fTrainingEventsRndm

Definition at line 199 of file RuleFit.cxx.

◆ CalcImportance()

void TMVA::RuleFit::CalcImportance ( )

calculates the importance of each rule

Definition at line 406 of file RuleFit.cxx.

◆ CalcWeightSum()

Double_t TMVA::RuleFit::CalcWeightSum ( const std::vector< const TMVA::Event * > * events,
UInt_t neve = 0 )

calculate the sum of weights

Definition at line 174 of file RuleFit.cxx.

◆ Class()

TClass * TMVA::RuleFit::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

const char * TMVA::RuleFit::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

constexpr Version_t TMVA::RuleFit::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 179 of file RuleFit.h.

◆ Copy()

void TMVA::RuleFit::Copy ( const RuleFit & other)
private

copy method

Definition at line 158 of file RuleFit.cxx.

◆ DeclFileName()

const char * TMVA::RuleFit::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 179 of file RuleFit.h.

◆ EvalEvent()

Double_t TMVA::RuleFit::EvalEvent ( const Event & e)

evaluate single event

Definition at line 420 of file RuleFit.cxx.

◆ FillCorr()

void TMVA::RuleFit::FillCorr ( TH2F * h2,
const TMVA::Rule * rule,
Int_t v1,
Int_t v2 )

fill rule correlation between vx and vy, weighted with either the importance or the coefficient

Definition at line 596 of file RuleFit.cxx.

◆ FillCut()

void TMVA::RuleFit::FillCut ( TH2F * h2,
const TMVA::Rule * rule,
Int_t vind )

Fill cut.

Definition at line 521 of file RuleFit.cxx.

◆ FillLin()

void TMVA::RuleFit::FillLin ( TH2F * h2,
Int_t vind )

fill lin

Definition at line 572 of file RuleFit.cxx.

◆ FillVisHistCorr()

void TMVA::RuleFit::FillVisHistCorr ( const Rule * rule,
std::vector< TH2F * > & hlist )

help routine to MakeVisHists() - fills for all correlation plots

Definition at line 703 of file RuleFit.cxx.

◆ FillVisHistCut()

void TMVA::RuleFit::FillVisHistCut ( const Rule * rule,
std::vector< TH2F * > & hlist )

help routine to MakeVisHists() - fills for all variables

Definition at line 672 of file RuleFit.cxx.

◆ FitCoefficients()

void TMVA::RuleFit::FitCoefficients ( )

Fit the coefficients for the rule ensemble.

Definition at line 397 of file RuleFit.cxx.

◆ ForestStatistics()

void TMVA::RuleFit::ForestStatistics ( )

summary of statistics of all trees

  • end-nodes: average and spread

Definition at line 374 of file RuleFit.cxx.

◆ GetCorrVars()

Bool_t TMVA::RuleFit::GetCorrVars ( TString & title,
TString & var1,
TString & var2 )

get first and second variables from title

Definition at line 742 of file RuleFit.cxx.

◆ GetForest()

const std::vector< const TMVA::DecisionTree * > & TMVA::RuleFit::GetForest ( ) const
inline

Definition at line 144 of file RuleFit.h.

◆ GetMethodBase()

const MethodBase * TMVA::RuleFit::GetMethodBase ( ) const
inline

Definition at line 150 of file RuleFit.h.

◆ GetMethodRuleFit()

const MethodRuleFit * TMVA::RuleFit::GetMethodRuleFit ( ) const
inline

Definition at line 149 of file RuleFit.h.

◆ GetNEveEff()

Double_t TMVA::RuleFit::GetNEveEff ( ) const
inline

Definition at line 132 of file RuleFit.h.

◆ GetNTreeSample()

UInt_t TMVA::RuleFit::GetNTreeSample ( ) const
inline

Definition at line 131 of file RuleFit.h.

◆ GetRndmSampleEvents()

void TMVA::RuleFit::GetRndmSampleEvents ( std::vector< const TMVA::Event * > & evevec,
UInt_t nevents )

draw a random subsample of the training events without replacement

Definition at line 455 of file RuleFit.cxx.

◆ GetRuleEnsemble()

const RuleEnsemble & TMVA::RuleFit::GetRuleEnsemble ( ) const
inline

Definition at line 145 of file RuleFit.h.

◆ GetRuleEnsemblePtr()

RuleEnsemble * TMVA::RuleFit::GetRuleEnsemblePtr ( )
inline

Definition at line 146 of file RuleFit.h.

◆ GetRuleFitParams()

const RuleFitParams & TMVA::RuleFit::GetRuleFitParams ( ) const
inline

Definition at line 147 of file RuleFit.h.

◆ GetRuleFitParamsPtr()

RuleFitParams * TMVA::RuleFit::GetRuleFitParamsPtr ( )
inline

Definition at line 148 of file RuleFit.h.

◆ GetTrainingEvent()

const Event * TMVA::RuleFit::GetTrainingEvent ( UInt_t i) const
inline

Definition at line 133 of file RuleFit.h.

◆ GetTrainingEvents()

const std::vector< const TMVA::Event * > & TMVA::RuleFit::GetTrainingEvents ( ) const
inline

Definition at line 138 of file RuleFit.h.

◆ GetTrainingEventWeight()

Double_t TMVA::RuleFit::GetTrainingEventWeight ( UInt_t i) const
inline

Definition at line 134 of file RuleFit.h.

◆ Initialize()

void TMVA::RuleFit::Initialize ( const TMVA::MethodBase * rfbase)

initialize the parameters of the RuleFit method and make rules

Definition at line 118 of file RuleFit.cxx.

◆ InitNEveEff()

void TMVA::RuleFit::InitNEveEff ( )

init effective number of events (using event weights)

Definition at line 96 of file RuleFit.cxx.

◆ InitPtrs()

void TMVA::RuleFit::InitPtrs ( const TMVA::MethodBase * rfbase)

initialize pointers

Definition at line 108 of file RuleFit.cxx.

◆ IsA()

virtual TClass * TMVA::RuleFit::IsA ( ) const
inlinevirtual
Returns
TClass describing current object

Definition at line 179 of file RuleFit.h.

◆ Log()

MsgLogger & TMVA::RuleFit::Log ( ) const
inlineprivate

Definition at line 174 of file RuleFit.h.

◆ MakeDebugHists()

void TMVA::RuleFit::MakeDebugHists ( )

this will create a histograms intended rather for debugging or for the curious user

Definition at line 925 of file RuleFit.cxx.

◆ MakeForest()

void TMVA::RuleFit::MakeForest ( )

make a forest of decisiontrees

Definition at line 220 of file RuleFit.cxx.

◆ MakeVisHists()

void TMVA::RuleFit::MakeVisHists ( )

this will create histograms visualizing the rule ensemble

Definition at line 765 of file RuleFit.cxx.

◆ NormVisHists()

void TMVA::RuleFit::NormVisHists ( std::vector< TH2F * > & hlist)

normalize rule importance hists

if all weights are positive, the scale will be 1/maxweight if minimum weight < 0, then the scale will be 1/max(maxweight,abs(minweight))

Definition at line 474 of file RuleFit.cxx.

◆ ReshuffleEvents()

void TMVA::RuleFit::ReshuffleEvents ( )
inline

Definition at line 66 of file RuleFit.h.

◆ RestoreEventWeights()

void TMVA::RuleFit::RestoreEventWeights ( )

save event weights - must be done before making the forest

Definition at line 309 of file RuleFit.cxx.

◆ SaveEventWeights()

void TMVA::RuleFit::SaveEventWeights ( )

save event weights - must be done before making the forest

Definition at line 297 of file RuleFit.cxx.

◆ SetGDNPathSteps()

void TMVA::RuleFit::SetGDNPathSteps ( Int_t n = 100)
inline

Definition at line 116 of file RuleFit.h.

◆ SetGDPathStep()

void TMVA::RuleFit::SetGDPathStep ( Double_t s = 0.01)
inline

Definition at line 115 of file RuleFit.h.

◆ SetGDTau()

void TMVA::RuleFit::SetGDTau ( Double_t t = 0.0)
inline

Definition at line 114 of file RuleFit.h.

◆ SetImportanceCut()

void TMVA::RuleFit::SetImportanceCut ( Double_t minimp = 0)
inline

Definition at line 110 of file RuleFit.h.

◆ SetMethodBase()

void TMVA::RuleFit::SetMethodBase ( const MethodBase * rfbase)

set MethodBase

Definition at line 149 of file RuleFit.cxx.

◆ SetModelFull()

void TMVA::RuleFit::SetModelFull ( )
inline

Definition at line 108 of file RuleFit.h.

◆ SetModelLinear()

void TMVA::RuleFit::SetModelLinear ( )
inline

Definition at line 104 of file RuleFit.h.

◆ SetModelRules()

void TMVA::RuleFit::SetModelRules ( )
inline

Definition at line 106 of file RuleFit.h.

◆ SetMsgType()

void TMVA::RuleFit::SetMsgType ( EMsgType t)

set the current message type to that of mlog for this class and all other subtools

Definition at line 189 of file RuleFit.cxx.

◆ SetRuleMinDist()

void TMVA::RuleFit::SetRuleMinDist ( Double_t d)
inline

Definition at line 112 of file RuleFit.h.

◆ SetTrainingEvents()

void TMVA::RuleFit::SetTrainingEvents ( const std::vector< const TMVA::Event * > & el)

set the training events randomly

Definition at line 428 of file RuleFit.cxx.

◆ SetVisHistsUseImp()

void TMVA::RuleFit::SetVisHistsUseImp ( Bool_t f)
inline

Definition at line 118 of file RuleFit.h.

◆ Streamer()

virtual void TMVA::RuleFit::Streamer ( TBuffer & )
virtual

◆ StreamerNVirtual()

void TMVA::RuleFit::StreamerNVirtual ( TBuffer & ClassDef_StreamerNVirtual_b)
inline

Definition at line 179 of file RuleFit.h.

◆ UseCoefficientsVisHists()

void TMVA::RuleFit::UseCoefficientsVisHists ( )
inline

Definition at line 120 of file RuleFit.h.

◆ UseImportanceVisHists()

void TMVA::RuleFit::UseImportanceVisHists ( )
inline

Definition at line 119 of file RuleFit.h.

Member Data Documentation

◆ fEventWeights

std::vector<Double_t> TMVA::RuleFit::fEventWeights
private

original weights of the events - follows fTrainingEvents

Definition at line 162 of file RuleFit.h.

◆ fForest

std::vector< const TMVA::DecisionTree *> TMVA::RuleFit::fForest
private

the input forest of decision trees

Definition at line 166 of file RuleFit.h.

◆ fLogger

MsgLogger* TMVA::RuleFit::fLogger
mutableprivate

! message logger

Definition at line 173 of file RuleFit.h.

◆ fMethodBase

const MethodBase* TMVA::RuleFit::fMethodBase
private

pointer the method base which initialized this RuleFit instance

Definition at line 170 of file RuleFit.h.

◆ fMethodRuleFit

const MethodRuleFit* TMVA::RuleFit::fMethodRuleFit
private

pointer the method which initialized this RuleFit instance

Definition at line 169 of file RuleFit.h.

◆ fNEveEffTrain

Double_t TMVA::RuleFit::fNEveEffTrain
private

reweighted number of events = sum(wi)

Definition at line 165 of file RuleFit.h.

◆ fNTreeSample

UInt_t TMVA::RuleFit::fNTreeSample
private

number of events in sub sample = frac*neve

Definition at line 163 of file RuleFit.h.

◆ fRNGEngine

std::default_random_engine TMVA::RuleFit::fRNGEngine
private

Definition at line 177 of file RuleFit.h.

◆ fRuleEnsemble

RuleEnsemble TMVA::RuleFit::fRuleEnsemble
private

the ensemble of rules

Definition at line 167 of file RuleFit.h.

◆ fRuleFitParams

RuleFitParams TMVA::RuleFit::fRuleFitParams
private

fit rule parameters

Definition at line 168 of file RuleFit.h.

◆ fTrainingEvents

std::vector<const TMVA::Event *> TMVA::RuleFit::fTrainingEvents
private

all training events

Definition at line 160 of file RuleFit.h.

◆ fTrainingEventsRndm

std::vector<const TMVA::Event *> TMVA::RuleFit::fTrainingEventsRndm
private

idem, but randomly shuffled

Definition at line 161 of file RuleFit.h.

◆ fVisHistsUseImp

Bool_t TMVA::RuleFit::fVisHistsUseImp
private

if true, use importance as weight; else coef in vis hists

Definition at line 171 of file RuleFit.h.

◆ randSEED

const Int_t TMVA::RuleFit::randSEED = 0
staticprivate

Definition at line 176 of file RuleFit.h.


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