Logo ROOT  
Reference Guide
TMVA::RuleEnsemble Class Reference

Definition at line 53 of file RuleEnsemble.h.

Public Types

enum  ELearningModel { kFull =0 , kRules =1 , kLinear =2 }
 

Public Member Functions

 RuleEnsemble ()
 constructor More...
 
 RuleEnsemble (const RuleEnsemble &other)
 copy constructor More...
 
 RuleEnsemble (RuleFit *rf)
 constructor More...
 
virtual ~RuleEnsemble ()
 destructor More...
 
void AddOffset (Double_t v)
  More...
 
voidAddXMLTo (void *parent) const
 write rules to XML More...
 
void CalcImportance ()
 calculate the importance of each rule More...
 
Double_t CalcLinImportance ()
 calculate the linear importance for each rule More...
 
Double_t CalcLinNorm (Double_t stdev)
  More...
 
Int_t CalcNRules (const TMVA::DecisionTree *dtree)
 calculate the number of rules More...
 
Double_t CalcRuleImportance ()
 calculate importance of each rule More...
 
void CalcRuleSupport ()
 calculate the support for all rules More...
 
void CalcVarImportance ()
 Calculates variable importance using eq (35) in RuleFit paper by Friedman et.al. More...
 
void CleanupLinear ()
 cleanup linear model More...
 
void CleanupRules ()
 cleanup rules More...
 
void ClearCoefficients (Double_t val=0)
  More...
 
void ClearLinCoefficients (Double_t val=0)
  More...
 
void ClearLinNorm (Double_t val=1.0)
  More...
 
void ClearRuleMap ()
  More...
 
Double_t CoefficientRadius ()
 Calculates sqrt(Sum(a_i^2)), i=1..N (NOTE do not include a0) More...
 
Bool_t DoFull () const
  More...
 
Bool_t DoLinear () const
  More...
 
Bool_t DoOnlyLinear () const
  More...
 
Bool_t DoOnlyRules () const
  More...
 
Bool_t DoRules () const
  More...
 
Double_t EvalEvent () const
  More...
 
Double_t EvalEvent (const Event &e)
  More...
 
Double_t EvalEvent (const Event &e, Double_t ofs, const std::vector< Double_t > &coefs, const std::vector< Double_t > &lincoefs)
  More...
 
Double_t EvalEvent (Double_t ofs, const std::vector< Double_t > &coefs, const std::vector< Double_t > &lincoefs) const
  More...
 
Double_t EvalEvent (UInt_t evtidx) const
  More...
 
Double_t EvalEvent (UInt_t evtidx, Double_t ofs, const std::vector< Double_t > &coefs, const std::vector< Double_t > &lincoefs) const
  More...
 
Double_t EvalLinEvent () const
  More...
 
Double_t EvalLinEvent (const Event &e)
  More...
 
Double_t EvalLinEvent (const Event &e, const std::vector< Double_t > &coefs)
  More...
 
Double_t EvalLinEvent (const Event &e, UInt_t vind)
  More...
 
Double_t EvalLinEvent (const std::vector< Double_t > &coefs) const
  More...
 
Double_t EvalLinEvent (UInt_t evtidx) const
  More...
 
Double_t EvalLinEvent (UInt_t evtidx, const std::vector< Double_t > &coefs) const
  More...
 
Double_t EvalLinEvent (UInt_t evtidx, UInt_t vind) const
  More...
 
Double_t EvalLinEvent (UInt_t evtidx, UInt_t vind, Double_t coefs) const
  More...
 
Double_t EvalLinEventRaw (UInt_t vind, const Event &e, Bool_t norm) const
  More...
 
Double_t EvalLinEventRaw (UInt_t vind, UInt_t evtidx, Bool_t norm) const
  More...
 
void FindNEndNodes (const TMVA::Node *node, Int_t &nendnodes)
 find the number of leaf nodes More...
 
Double_t FStar () const
 We want to estimate F* = argmin Eyx( L(y,F(x) ), min wrt F(x) F(x) = FL(x) + FR(x) , linear and rule part. More...
 
Double_t FStar (const TMVA::Event &e)
 We want to estimate F* = argmin Eyx( L(y,F(x) ), min wrt F(x) F(x) = FL(x) + FR(x) , linear and rule part. More...
 
Double_t GetAverageRuleSigma () const
  More...
 
Double_t GetAverageSupport () const
  More...
 
void GetCoefficients (std::vector< Double_t > &v)
 Retrieve all rule coefficients. More...
 
const EventGetEvent () const
  More...
 
Double_t GetEventLinearVal (UInt_t i) const
  More...
 
Double_t GetEventLinearValNorm (UInt_t i) const
  More...
 
const std::vector< UInt_t > & GetEventRuleMap (UInt_t evtidx) const
  More...
 
Double_t GetEventRuleVal (UInt_t i) const
  More...
 
Double_t GetImportanceCut () const
  More...
 
Double_t GetImportanceRef () const
  More...
 
ELearningModel GetLearningModel () const
  More...
 
const std::vector< Double_t > & GetLinCoefficients () const
  More...
 
Double_t GetLinCoefficients (int i) const
  More...
 
Double_t GetLinDM (int i) const
  More...
 
Double_t GetLinDP (int i) const
  More...
 
const std::vector< Double_t > & GetLinImportance () const
  More...
 
Double_t GetLinImportance (int i) const
  More...
 
const std::vector< Double_t > & GetLinNorm () const
  More...
 
Double_t GetLinNorm (int i) const
  More...
 
Double_t GetLinQuantile () const
  More...
 
const MethodBaseGetMethodBase () const
 Get a pointer to the original MethodRuleFit. More...
 
const MethodRuleFitGetMethodRuleFit () const
 Get a pointer to the original MethodRuleFit. More...
 
UInt_t GetNLinear () const
  More...
 
UInt_t GetNRules () const
  More...
 
Double_t GetOffset () const
  More...
 
const RuleFitGetRuleFit () const
  More...
 
const TMVA::EventGetRuleMapEvent (UInt_t evtidx) const
  More...
 
Double_t GetRuleMinDist () const
  More...
 
Double_t GetRulePBB (int i) const
  More...
 
Double_t GetRulePBS (int i) const
  More...
 
Double_t GetRulePSB (int i) const
  More...
 
Double_t GetRulePSS (int i) const
  More...
 
Double_t GetRulePTag (int i) const
  More...
 
std::vector< TMVA::Rule * > & GetRules ()
  More...
 
RuleGetRules (int i)
  More...
 
const std::vector< TMVA::Rule * > & GetRulesConst () const
  More...
 
const RuleGetRulesConst (int i) const
  More...
 
UInt_t GetRulesNCuts (int i) const
  More...
 
const EventGetTrainingEvent (UInt_t i) const
 get the training event from the rule fitter More...
 
const std::vector< const TMVA::Event * > * GetTrainingEvents () const
 get list of training events from the rule fitter More...
 
const std::vector< Double_t > & GetVarImportance () const
  More...
 
Double_t GetVarImportance (int i) const
  More...
 
void Initialize (const RuleFit *rf)
 Initializes all member variables with default values. More...
 
Bool_t IsLinTermOK (int i) const
  More...
 
Bool_t IsRuleMapOK () const
  More...
 
void MakeLinearTerms ()
 Make the linear terms as in eq 25, ref 2 For this the b and (1-b) quantiles are needed. More...
 
void MakeModel ()
 create model More...
 
void MakeRuleMap (const std::vector< const TMVA::Event * > *events=0, UInt_t ifirst=0, UInt_t ilast=0)
 Makes rule map for all events. More...
 
void MakeRules (const std::vector< const TMVA::DecisionTree * > &forest)
 Makes rules from the given decision tree. More...
 
void operator= (const RuleEnsemble &other)
  More...
 
Double_t PdfLinear (Double_t &nsig, Double_t &ntot) const
 This function returns Pr( y = 1 | x ) for the linear terms. More...
 
Double_t PdfRule (Double_t &nsig, Double_t &ntot) const
 This function returns Pr( y = 1 | x ) for rules. More...
 
void Print () const
 print function More...
 
void PrintRaw (std::ostream &os) const
 write rules to stream More...
 
void PrintRuleGen () const
 print rule generation info More...
 
void ReadFromXML (void *wghtnode)
 read rules from XML More...
 
void ReadRaw (std::istream &istr)
 read rule ensemble from stream More...
 
void RemoveSimilarRules ()
 remove rules that behave similar More...
 
void RuleResponseStats ()
 calculate various statistics for this rule More...
 
void RuleStatistics ()
 calculate various statistics for this rule More...
 
void SetAverageRuleSigma (Double_t v)
  More...
 
void SetCoefficient (UInt_t i, Double_t v)
  More...
 
void SetCoefficients (const std::vector< Double_t > &v)
 set all rule coefficients More...
 
void SetEvent (const Event &e)
  More...
 
void SetImportanceCut (Double_t minimp=0)
  More...
 
void SetImportanceRef (Double_t impref)
 set reference importance More...
 
void SetLinCoefficient (UInt_t i, Double_t v)
  More...
 
void SetLinCoefficients (const std::vector< Double_t > &v)
  More...
 
void SetLinDM (const std::vector< Double_t > &xmin)
  More...
 
void SetLinDP (const std::vector< Double_t > &xmax)
  More...
 
void SetLinNorm (const std::vector< Double_t > &norm)
  More...
 
void SetLinQuantile (Double_t q)
  More...
 
void SetModelFull ()
  More...
 
void SetModelLinear ()
  More...
 
void SetModelRules ()
  More...
 
void SetMsgType (EMsgType t)
  More...
 
void SetOffset (Double_t v=0.0)
  More...
 
void SetRuleFit (const RuleFit *rf)
  More...
 
void SetRuleMinDist (Double_t d)
  More...
 
void SetRules (const std::vector< TMVA::Rule * > &rules)
 set rules More...
 
void UpdateEventVal ()
  More...
 

Private Member Functions

void AddRule (const Node *node)
 add a new rule to the tree More...
 
void Copy (RuleEnsemble const &other)
 copy function More...
 
void DeleteRules ()
  More...
 
MsgLoggerLog () const
 message logger More...
 
void MakeRulesFromTree (const DecisionTree *dtree)
 create rules from the decision tree structure More...
 
RuleMakeTheRule (const Node *node)
 Make a Rule from a given Node. More...
 
void ResetCoefficients ()
 reset all rule coefficients More...
 

Private Attributes

Double_t fAverageRuleSigma
  More...
 
Double_t fAverageSupport
  More...
 
const EventfEvent
  More...
 
Bool_t fEventCacheOK
  More...
 
std::vector< Double_tfEventLinearVal
  More...
 
std::vector< Char_tfEventRuleVal
  More...
 
Double_t fImportanceCut
  More...
 
Double_t fImportanceRef
  More...
 
ELearningModel fLearningModel
  More...
 
std::vector< Double_tfLinCoefficients
  More...
 
std::vector< Double_tfLinDM
  More...
 
std::vector< Double_tfLinDP
  More...
 
std::vector< Double_tfLinImportance
  More...
 
std::vector< Double_tfLinNorm
  More...
 
std::vector< TH1F * > fLinPDFB
  More...
 
std::vector< TH1F * > fLinPDFS
  More...
 
Double_t fLinQuantile
  More...
 
std::vector< Char_tfLinTermOK
  More...
 
MsgLoggerfLogger
  More...
 
UInt_t fNRulesGenerated
  More...
 
Double_t fOffset
  More...
 
const RuleFitfRuleFit
  More...
 
Double_t fRuleFSig
  More...
 
std::vector< std::vector< UInt_t > > fRuleMap
  More...
 
const std::vector< const TMVA::Event * > * fRuleMapEvents
  More...
 
UInt_t fRuleMapInd0
  More...
 
UInt_t fRuleMapInd1
  More...
 
Bool_t fRuleMapOK
  More...
 
Double_t fRuleMinDist
  More...
 
Double_t fRuleNCave
  More...
 
Double_t fRuleNCsig
  More...
 
std::vector< Double_tfRulePBB
  More...
 
std::vector< Double_tfRulePBS
  More...
 
std::vector< Double_tfRulePSB
  More...
 
std::vector< Double_tfRulePSS
  More...
 
std::vector< Double_tfRulePTag
  More...
 
std::vector< TMVA::Rule * > fRules
  More...
 
std::vector< Double_tfRuleVarFrac
  More...
 
std::vector< Double_tfVarImportance
  More...
 

Friends

std::ostream & operator<< (std::ostream &os, const RuleEnsemble &rules)
  More...
 

#include <TMVA/RuleEnsemble.h>

Member Enumeration Documentation

◆ ELearningModel

Enumerator
kFull 
kRules 
kLinear 

Definition at line 60 of file RuleEnsemble.h.

Constructor & Destructor Documentation

◆ RuleEnsemble() [1/3]

TMVA::RuleEnsemble::RuleEnsemble ( RuleFit rf)

constructor

Definition at line 56 of file RuleEnsemble.cxx.

◆ RuleEnsemble() [2/3]

TMVA::RuleEnsemble::RuleEnsemble ( const RuleEnsemble other)

copy constructor

Definition at line 82 of file RuleEnsemble.cxx.

◆ RuleEnsemble() [3/3]

TMVA::RuleEnsemble::RuleEnsemble ( )

constructor

Definition at line 95 of file RuleEnsemble.cxx.

◆ ~RuleEnsemble()

TMVA::RuleEnsemble::~RuleEnsemble ( )
virtual

destructor

Definition at line 122 of file RuleEnsemble.cxx.

Member Function Documentation

◆ AddOffset()

void TMVA::RuleEnsemble::AddOffset ( Double_t  v)
inline

Definition at line 109 of file RuleEnsemble.h.

◆ AddRule()

void TMVA::RuleEnsemble::AddRule ( const Node node)
private

add a new rule to the tree

Definition at line 1298 of file RuleEnsemble.cxx.

◆ AddXMLTo()

void * TMVA::RuleEnsemble::AddXMLTo ( void parent) const

write rules to XML

Definition at line 1090 of file RuleEnsemble.cxx.

◆ CalcImportance()

void TMVA::RuleEnsemble::CalcImportance ( )

calculate the importance of each rule

Definition at line 420 of file RuleEnsemble.cxx.

◆ CalcLinImportance()

Double_t TMVA::RuleEnsemble::CalcLinImportance ( )

calculate the linear importance for each rule

Definition at line 461 of file RuleEnsemble.cxx.

◆ CalcLinNorm()

Double_t TMVA::RuleEnsemble::CalcLinNorm ( Double_t  stdev)
inline

Definition at line 116 of file RuleEnsemble.h.

◆ CalcNRules()

Int_t TMVA::RuleEnsemble::CalcNRules ( const TMVA::DecisionTree dtree)

calculate the number of rules

Definition at line 1261 of file RuleEnsemble.cxx.

◆ CalcRuleImportance()

Double_t TMVA::RuleEnsemble::CalcRuleImportance ( )

calculate importance of each rule

Definition at line 441 of file RuleEnsemble.cxx.

◆ CalcRuleSupport()

void TMVA::RuleEnsemble::CalcRuleSupport ( )

calculate the support for all rules

Definition at line 369 of file RuleEnsemble.cxx.

◆ CalcVarImportance()

void TMVA::RuleEnsemble::CalcVarImportance ( )

Calculates variable importance using eq (35) in RuleFit paper by Friedman et.al.

Definition at line 487 of file RuleEnsemble.cxx.

◆ CleanupLinear()

void TMVA::RuleEnsemble::CleanupLinear ( )

cleanup linear model

Definition at line 354 of file RuleEnsemble.cxx.

◆ CleanupRules()

void TMVA::RuleEnsemble::CleanupRules ( )

cleanup rules

Definition at line 327 of file RuleEnsemble.cxx.

◆ ClearCoefficients()

void TMVA::RuleEnsemble::ClearCoefficients ( Double_t  val = 0)
inline

Definition at line 119 of file RuleEnsemble.h.

◆ ClearLinCoefficients()

void TMVA::RuleEnsemble::ClearLinCoefficients ( Double_t  val = 0)
inline

Definition at line 120 of file RuleEnsemble.h.

◆ ClearLinNorm()

void TMVA::RuleEnsemble::ClearLinNorm ( Double_t  val = 1.0)
inline

Definition at line 121 of file RuleEnsemble.h.

◆ ClearRuleMap()

void TMVA::RuleEnsemble::ClearRuleMap ( )
inline

Definition at line 150 of file RuleEnsemble.h.

◆ CoefficientRadius()

Double_t TMVA::RuleEnsemble::CoefficientRadius ( )

Calculates sqrt(Sum(a_i^2)), i=1..N (NOTE do not include a0)

Definition at line 198 of file RuleEnsemble.cxx.

◆ Copy()

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

copy function

Definition at line 1234 of file RuleEnsemble.cxx.

◆ DeleteRules()

void TMVA::RuleEnsemble::DeleteRules ( )
inlineprivate

Definition at line 319 of file RuleEnsemble.h.

◆ DoFull()

Bool_t TMVA::RuleEnsemble::DoFull ( ) const
inline

Definition at line 257 of file RuleEnsemble.h.

◆ DoLinear()

Bool_t TMVA::RuleEnsemble::DoLinear ( ) const
inline

Definition at line 253 of file RuleEnsemble.h.

◆ DoOnlyLinear()

Bool_t TMVA::RuleEnsemble::DoOnlyLinear ( ) const
inline

Definition at line 256 of file RuleEnsemble.h.

◆ DoOnlyRules()

Bool_t TMVA::RuleEnsemble::DoOnlyRules ( ) const
inline

Definition at line 255 of file RuleEnsemble.h.

◆ DoRules()

Bool_t TMVA::RuleEnsemble::DoRules ( ) const
inline

Definition at line 254 of file RuleEnsemble.h.

◆ EvalEvent() [1/6]

Double_t TMVA::RuleEnsemble::EvalEvent ( ) const
inline

Definition at line 412 of file RuleEnsemble.h.

◆ EvalEvent() [2/6]

Double_t TMVA::RuleEnsemble::EvalEvent ( const Event e)
inline

Definition at line 467 of file RuleEnsemble.h.

◆ EvalEvent() [3/6]

Double_t TMVA::RuleEnsemble::EvalEvent ( const Event e,
Double_t  ofs,
const std::vector< Double_t > &  coefs,
const std::vector< Double_t > &  lincoefs 
)
inline

Definition at line 476 of file RuleEnsemble.h.

◆ EvalEvent() [4/6]

Double_t TMVA::RuleEnsemble::EvalEvent ( Double_t  ofs,
const std::vector< Double_t > &  coefs,
const std::vector< Double_t > &  lincoefs 
) const
inline

Definition at line 439 of file RuleEnsemble.h.

◆ EvalEvent() [5/6]

Double_t TMVA::RuleEnsemble::EvalEvent ( UInt_t  evtidx) const
inline

Definition at line 488 of file RuleEnsemble.h.

◆ EvalEvent() [6/6]

Double_t TMVA::RuleEnsemble::EvalEvent ( UInt_t  evtidx,
Double_t  ofs,
const std::vector< Double_t > &  coefs,
const std::vector< Double_t > &  lincoefs 
) const
inline

Definition at line 514 of file RuleEnsemble.h.

◆ EvalLinEvent() [1/9]

Double_t TMVA::RuleEnsemble::EvalLinEvent ( ) const
inline

Definition at line 560 of file RuleEnsemble.h.

◆ EvalLinEvent() [2/9]

Double_t TMVA::RuleEnsemble::EvalLinEvent ( const Event e)
inline

Definition at line 586 of file RuleEnsemble.h.

◆ EvalLinEvent() [3/9]

Double_t TMVA::RuleEnsemble::EvalLinEvent ( const Event e,
const std::vector< Double_t > &  coefs 
)
inline

Definition at line 606 of file RuleEnsemble.h.

◆ EvalLinEvent() [4/9]

Double_t TMVA::RuleEnsemble::EvalLinEvent ( const Event e,
UInt_t  vind 
)
inline

Definition at line 596 of file RuleEnsemble.h.

◆ EvalLinEvent() [5/9]

Double_t TMVA::RuleEnsemble::EvalLinEvent ( const std::vector< Double_t > &  coefs) const
inline

Definition at line 573 of file RuleEnsemble.h.

◆ EvalLinEvent() [6/9]

Double_t TMVA::RuleEnsemble::EvalLinEvent ( UInt_t  evtidx) const
inline

Definition at line 631 of file RuleEnsemble.h.

◆ EvalLinEvent() [7/9]

Double_t TMVA::RuleEnsemble::EvalLinEvent ( UInt_t  evtidx,
const std::vector< Double_t > &  coefs 
) const
inline

Definition at line 616 of file RuleEnsemble.h.

◆ EvalLinEvent() [8/9]

Double_t TMVA::RuleEnsemble::EvalLinEvent ( UInt_t  evtidx,
UInt_t  vind 
) const
inline

Definition at line 646 of file RuleEnsemble.h.

◆ EvalLinEvent() [9/9]

Double_t TMVA::RuleEnsemble::EvalLinEvent ( UInt_t  evtidx,
UInt_t  vind,
Double_t  coefs 
) const
inline

Definition at line 656 of file RuleEnsemble.h.

◆ EvalLinEventRaw() [1/2]

Double_t TMVA::RuleEnsemble::EvalLinEventRaw ( UInt_t  vind,
const Event e,
Bool_t  norm 
) const
inline

Definition at line 538 of file RuleEnsemble.h.

◆ EvalLinEventRaw() [2/2]

Double_t TMVA::RuleEnsemble::EvalLinEventRaw ( UInt_t  vind,
UInt_t  evtidx,
Bool_t  norm 
) const
inline

Definition at line 549 of file RuleEnsemble.h.

◆ FindNEndNodes()

void TMVA::RuleEnsemble::FindNEndNodes ( const TMVA::Node node,
Int_t nendnodes 
)

find the number of leaf nodes

Definition at line 1273 of file RuleEnsemble.cxx.

◆ FStar() [1/2]

Double_t TMVA::RuleEnsemble::FStar ( ) const

We want to estimate F* = argmin Eyx( L(y,F(x) ), min wrt F(x) F(x) = FL(x) + FR(x) , linear and rule part.

Definition at line 788 of file RuleEnsemble.cxx.

◆ FStar() [2/2]

Double_t TMVA::RuleEnsemble::FStar ( const TMVA::Event e)

We want to estimate F* = argmin Eyx( L(y,F(x) ), min wrt F(x) F(x) = FL(x) + FR(x) , linear and rule part.

Definition at line 777 of file RuleEnsemble.cxx.

◆ GetAverageRuleSigma()

Double_t TMVA::RuleEnsemble::GetAverageRuleSigma ( ) const
inline

Definition at line 292 of file RuleEnsemble.h.

◆ GetAverageSupport()

Double_t TMVA::RuleEnsemble::GetAverageSupport ( ) const
inline

Definition at line 291 of file RuleEnsemble.h.

◆ GetCoefficients()

void TMVA::RuleEnsemble::GetCoefficients ( std::vector< Double_t > &  v)

Retrieve all rule coefficients.

Definition at line 242 of file RuleEnsemble.cxx.

◆ GetEvent()

const Event* TMVA::RuleEnsemble::GetEvent ( ) const
inline

Definition at line 251 of file RuleEnsemble.h.

◆ GetEventLinearVal()

Double_t TMVA::RuleEnsemble::GetEventLinearVal ( UInt_t  i) const
inline

Definition at line 294 of file RuleEnsemble.h.

◆ GetEventLinearValNorm()

Double_t TMVA::RuleEnsemble::GetEventLinearValNorm ( UInt_t  i) const
inline

Definition at line 295 of file RuleEnsemble.h.

◆ GetEventRuleMap()

const std::vector<UInt_t>& TMVA::RuleEnsemble::GetEventRuleMap ( UInt_t  evtidx) const
inline

Definition at line 297 of file RuleEnsemble.h.

◆ GetEventRuleVal()

Double_t TMVA::RuleEnsemble::GetEventRuleVal ( UInt_t  i) const
inline

Definition at line 293 of file RuleEnsemble.h.

◆ GetImportanceCut()

Double_t TMVA::RuleEnsemble::GetImportanceCut ( ) const
inline

Definition at line 259 of file RuleEnsemble.h.

◆ GetImportanceRef()

Double_t TMVA::RuleEnsemble::GetImportanceRef ( ) const
inline

Definition at line 260 of file RuleEnsemble.h.

◆ GetLearningModel()

ELearningModel TMVA::RuleEnsemble::GetLearningModel ( ) const
inline

Definition at line 258 of file RuleEnsemble.h.

◆ GetLinCoefficients() [1/2]

const std::vector< Double_t >& TMVA::RuleEnsemble::GetLinCoefficients ( ) const
inline

Definition at line 265 of file RuleEnsemble.h.

◆ GetLinCoefficients() [2/2]

Double_t TMVA::RuleEnsemble::GetLinCoefficients ( int  i) const
inline

Definition at line 277 of file RuleEnsemble.h.

◆ GetLinDM()

Double_t TMVA::RuleEnsemble::GetLinDM ( int  i) const
inline

Definition at line 279 of file RuleEnsemble.h.

◆ GetLinDP()

Double_t TMVA::RuleEnsemble::GetLinDP ( int  i) const
inline

Definition at line 280 of file RuleEnsemble.h.

◆ GetLinImportance() [1/2]

const std::vector< Double_t >& TMVA::RuleEnsemble::GetLinImportance ( ) const
inline

Definition at line 267 of file RuleEnsemble.h.

◆ GetLinImportance() [2/2]

Double_t TMVA::RuleEnsemble::GetLinImportance ( int  i) const
inline

Definition at line 281 of file RuleEnsemble.h.

◆ GetLinNorm() [1/2]

const std::vector< Double_t >& TMVA::RuleEnsemble::GetLinNorm ( ) const
inline

Definition at line 266 of file RuleEnsemble.h.

◆ GetLinNorm() [2/2]

Double_t TMVA::RuleEnsemble::GetLinNorm ( int  i) const
inline

Definition at line 278 of file RuleEnsemble.h.

◆ GetLinQuantile()

Double_t TMVA::RuleEnsemble::GetLinQuantile ( ) const
inline

Definition at line 270 of file RuleEnsemble.h.

◆ GetMethodBase()

const TMVA::MethodBase * TMVA::RuleEnsemble::GetMethodBase ( ) const

Get a pointer to the original MethodRuleFit.

Definition at line 171 of file RuleEnsemble.cxx.

◆ GetMethodRuleFit()

const TMVA::MethodRuleFit * TMVA::RuleEnsemble::GetMethodRuleFit ( ) const

Get a pointer to the original MethodRuleFit.

Definition at line 162 of file RuleEnsemble.cxx.

◆ GetNLinear()

UInt_t TMVA::RuleEnsemble::GetNLinear ( ) const
inline

Definition at line 269 of file RuleEnsemble.h.

◆ GetNRules()

UInt_t TMVA::RuleEnsemble::GetNRules ( ) const
inline

Definition at line 262 of file RuleEnsemble.h.

◆ GetOffset()

Double_t TMVA::RuleEnsemble::GetOffset ( ) const
inline

Definition at line 261 of file RuleEnsemble.h.

◆ GetRuleFit()

const RuleFit* TMVA::RuleEnsemble::GetRuleFit ( ) const
inline

Definition at line 247 of file RuleEnsemble.h.

◆ GetRuleMapEvent()

const TMVA::Event* TMVA::RuleEnsemble::GetRuleMapEvent ( UInt_t  evtidx) const
inline

Definition at line 298 of file RuleEnsemble.h.

◆ GetRuleMinDist()

Double_t TMVA::RuleEnsemble::GetRuleMinDist ( ) const
inline

Definition at line 276 of file RuleEnsemble.h.

◆ GetRulePBB()

Double_t TMVA::RuleEnsemble::GetRulePBB ( int  i) const
inline

Definition at line 287 of file RuleEnsemble.h.

◆ GetRulePBS()

Double_t TMVA::RuleEnsemble::GetRulePBS ( int  i) const
inline

Definition at line 286 of file RuleEnsemble.h.

◆ GetRulePSB()

Double_t TMVA::RuleEnsemble::GetRulePSB ( int  i) const
inline

Definition at line 285 of file RuleEnsemble.h.

◆ GetRulePSS()

Double_t TMVA::RuleEnsemble::GetRulePSS ( int  i) const
inline

Definition at line 284 of file RuleEnsemble.h.

◆ GetRulePTag()

Double_t TMVA::RuleEnsemble::GetRulePTag ( int  i) const
inline

Definition at line 283 of file RuleEnsemble.h.

◆ GetRules() [1/2]

std::vector<TMVA::Rule*>& TMVA::RuleEnsemble::GetRules ( )
inline

Definition at line 264 of file RuleEnsemble.h.

◆ GetRules() [2/2]

Rule* TMVA::RuleEnsemble::GetRules ( int  i)
inline

Definition at line 273 of file RuleEnsemble.h.

◆ GetRulesConst() [1/2]

const std::vector<TMVA::Rule*>& TMVA::RuleEnsemble::GetRulesConst ( ) const
inline

Definition at line 263 of file RuleEnsemble.h.

◆ GetRulesConst() [2/2]

const Rule* TMVA::RuleEnsemble::GetRulesConst ( int  i) const
inline

Definition at line 272 of file RuleEnsemble.h.

◆ GetRulesNCuts()

UInt_t TMVA::RuleEnsemble::GetRulesNCuts ( int  i) const
inline

Definition at line 275 of file RuleEnsemble.h.

◆ GetTrainingEvent()

const TMVA::Event * TMVA::RuleEnsemble::GetTrainingEvent ( UInt_t  i) const

get the training event from the rule fitter

Definition at line 264 of file RuleEnsemble.cxx.

◆ GetTrainingEvents()

const std::vector< const TMVA::Event * > * TMVA::RuleEnsemble::GetTrainingEvents ( ) const

get list of training events from the rule fitter

Definition at line 256 of file RuleEnsemble.cxx.

◆ GetVarImportance() [1/2]

const std::vector< Double_t >& TMVA::RuleEnsemble::GetVarImportance ( ) const
inline

Definition at line 268 of file RuleEnsemble.h.

◆ GetVarImportance() [2/2]

Double_t TMVA::RuleEnsemble::GetVarImportance ( int  i) const
inline

Definition at line 282 of file RuleEnsemble.h.

◆ Initialize()

void TMVA::RuleEnsemble::Initialize ( const RuleFit rf)

Initializes all member variables with default values.

Definition at line 134 of file RuleEnsemble.cxx.

◆ IsLinTermOK()

Bool_t TMVA::RuleEnsemble::IsLinTermOK ( int  i) const
inline

Definition at line 289 of file RuleEnsemble.h.

◆ IsRuleMapOK()

Bool_t TMVA::RuleEnsemble::IsRuleMapOK ( ) const
inline

Definition at line 299 of file RuleEnsemble.h.

◆ Log()

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

message logger

Definition at line 382 of file RuleEnsemble.h.

◆ MakeLinearTerms()

void TMVA::RuleEnsemble::MakeLinearTerms ( )

Make the linear terms as in eq 25, ref 2 For this the b and (1-b) quantiles are needed.

Definition at line 605 of file RuleEnsemble.cxx.

◆ MakeModel()

void TMVA::RuleEnsemble::MakeModel ( )

create model

Definition at line 179 of file RuleEnsemble.cxx.

◆ MakeRuleMap()

void TMVA::RuleEnsemble::MakeRuleMap ( const std::vector< const TMVA::Event * > *  events = 0,
UInt_t  ifirst = 0,
UInt_t  ilast = 0 
)

Makes rule map for all events.

Definition at line 1362 of file RuleEnsemble.cxx.

◆ MakeRules()

void TMVA::RuleEnsemble::MakeRules ( const std::vector< const TMVA::DecisionTree * > &  forest)

Makes rules from the given decision tree.

First node in all rules is ALWAYS the root node.

Definition at line 552 of file RuleEnsemble.cxx.

◆ MakeRulesFromTree()

void TMVA::RuleEnsemble::MakeRulesFromTree ( const DecisionTree dtree)
private

create rules from the decision tree structure

Definition at line 1289 of file RuleEnsemble.cxx.

◆ MakeTheRule()

TMVA::Rule * TMVA::RuleEnsemble::MakeTheRule ( const Node node)
private

Make a Rule from a given Node.

The root node (ie no parent) does not generate a Rule. The first node in a rule is always the root node => fNodes.size()>=2 Each node corresponds to a cut and the cut value is given by the parent node.

Definition at line 1324 of file RuleEnsemble.cxx.

◆ operator=()

void TMVA::RuleEnsemble::operator= ( const RuleEnsemble other)
inline

Definition at line 236 of file RuleEnsemble.h.

◆ PdfLinear()

Double_t TMVA::RuleEnsemble::PdfLinear ( Double_t nsig,
Double_t ntot 
) const

This function returns Pr( y = 1 | x ) for the linear terms.

Definition at line 723 of file RuleEnsemble.cxx.

◆ PdfRule()

Double_t TMVA::RuleEnsemble::PdfRule ( Double_t nsig,
Double_t ntot 
) const

This function returns Pr( y = 1 | x ) for rules.

The probability returned is normalized against the number of rules which are actually passed

Definition at line 747 of file RuleEnsemble.cxx.

◆ Print()

void TMVA::RuleEnsemble::Print ( ) const

print function

Definition at line 938 of file RuleEnsemble.cxx.

◆ PrintRaw()

void TMVA::RuleEnsemble::PrintRaw ( std::ostream &  os) const

write rules to stream

Definition at line 1056 of file RuleEnsemble.cxx.

◆ PrintRuleGen()

void TMVA::RuleEnsemble::PrintRuleGen ( ) const

print rule generation info

Definition at line 919 of file RuleEnsemble.cxx.

◆ ReadFromXML()

void TMVA::RuleEnsemble::ReadFromXML ( void wghtnode)

read rules from XML

Definition at line 1121 of file RuleEnsemble.cxx.

◆ ReadRaw()

void TMVA::RuleEnsemble::ReadRaw ( std::istream &  istr)

read rule ensemble from stream

Definition at line 1176 of file RuleEnsemble.cxx.

◆ RemoveSimilarRules()

void TMVA::RuleEnsemble::RemoveSimilarRules ( )

remove rules that behave similar

Definition at line 272 of file RuleEnsemble.cxx.

◆ ResetCoefficients()

void TMVA::RuleEnsemble::ResetCoefficients ( )
private

reset all rule coefficients

Definition at line 215 of file RuleEnsemble.cxx.

◆ RuleResponseStats()

void TMVA::RuleEnsemble::RuleResponseStats ( )

calculate various statistics for this rule

Definition at line 810 of file RuleEnsemble.cxx.

◆ RuleStatistics()

void TMVA::RuleEnsemble::RuleStatistics ( )

calculate various statistics for this rule

Definition at line 897 of file RuleEnsemble.cxx.

◆ SetAverageRuleSigma()

void TMVA::RuleEnsemble::SetAverageRuleSigma ( Double_t  v)
inline

Definition at line 133 of file RuleEnsemble.h.

◆ SetCoefficient()

void TMVA::RuleEnsemble::SetCoefficient ( UInt_t  i,
Double_t  v 
)
inline

Definition at line 106 of file RuleEnsemble.h.

◆ SetCoefficients()

void TMVA::RuleEnsemble::SetCoefficients ( const std::vector< Double_t > &  v)

set all rule coefficients

Definition at line 227 of file RuleEnsemble.cxx.

◆ SetEvent()

void TMVA::RuleEnsemble::SetEvent ( const Event e)
inline

Definition at line 141 of file RuleEnsemble.h.

◆ SetImportanceCut()

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

Definition at line 127 of file RuleEnsemble.h.

◆ SetImportanceRef()

void TMVA::RuleEnsemble::SetImportanceRef ( Double_t  impref)

set reference importance

Definition at line 431 of file RuleEnsemble.cxx.

◆ SetLinCoefficient()

void TMVA::RuleEnsemble::SetLinCoefficient ( UInt_t  i,
Double_t  v 
)
inline

Definition at line 111 of file RuleEnsemble.h.

◆ SetLinCoefficients()

void TMVA::RuleEnsemble::SetLinCoefficients ( const std::vector< Double_t > &  v)
inline

Definition at line 110 of file RuleEnsemble.h.

◆ SetLinDM()

void TMVA::RuleEnsemble::SetLinDM ( const std::vector< Double_t > &  xmin)
inline

Definition at line 112 of file RuleEnsemble.h.

◆ SetLinDP()

void TMVA::RuleEnsemble::SetLinDP ( const std::vector< Double_t > &  xmax)
inline

Definition at line 113 of file RuleEnsemble.h.

◆ SetLinNorm()

void TMVA::RuleEnsemble::SetLinNorm ( const std::vector< Double_t > &  norm)
inline

Definition at line 114 of file RuleEnsemble.h.

◆ SetLinQuantile()

void TMVA::RuleEnsemble::SetLinQuantile ( Double_t  q)
inline

Definition at line 130 of file RuleEnsemble.h.

◆ SetModelFull()

void TMVA::RuleEnsemble::SetModelFull ( )
inline

Definition at line 96 of file RuleEnsemble.h.

◆ SetModelLinear()

void TMVA::RuleEnsemble::SetModelLinear ( )
inline

Definition at line 90 of file RuleEnsemble.h.

◆ SetModelRules()

void TMVA::RuleEnsemble::SetModelRules ( )
inline

Definition at line 93 of file RuleEnsemble.h.

◆ SetMsgType()

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

Definition at line 154 of file RuleEnsemble.cxx.

◆ SetOffset()

void TMVA::RuleEnsemble::SetOffset ( Double_t  v = 0.0)
inline

Definition at line 108 of file RuleEnsemble.h.

◆ SetRuleFit()

void TMVA::RuleEnsemble::SetRuleFit ( const RuleFit rf)
inline

Definition at line 102 of file RuleEnsemble.h.

◆ SetRuleMinDist()

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

Definition at line 124 of file RuleEnsemble.h.

◆ SetRules()

void TMVA::RuleEnsemble::SetRules ( const std::vector< TMVA::Rule * > &  rules)

set rules

first clear all

Definition at line 537 of file RuleEnsemble.cxx.

◆ UpdateEventVal()

void TMVA::RuleEnsemble::UpdateEventVal ( )
inline

Definition at line 387 of file RuleEnsemble.h.

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const RuleEnsemble rules 
)
friend

Member Data Documentation

◆ fAverageRuleSigma

Double_t TMVA::RuleEnsemble::fAverageRuleSigma
private

Definition at line 353 of file RuleEnsemble.h.

◆ fAverageSupport

Double_t TMVA::RuleEnsemble::fAverageSupport
private

Definition at line 352 of file RuleEnsemble.h.

◆ fEvent

const Event* TMVA::RuleEnsemble::fEvent
private

Definition at line 368 of file RuleEnsemble.h.

◆ fEventCacheOK

Bool_t TMVA::RuleEnsemble::fEventCacheOK
private

Definition at line 369 of file RuleEnsemble.h.

◆ fEventLinearVal

std::vector<Double_t> TMVA::RuleEnsemble::fEventLinearVal
private

Definition at line 371 of file RuleEnsemble.h.

◆ fEventRuleVal

std::vector<Char_t> TMVA::RuleEnsemble::fEventRuleVal
private

Definition at line 370 of file RuleEnsemble.h.

◆ fImportanceCut

Double_t TMVA::RuleEnsemble::fImportanceCut
private

Definition at line 338 of file RuleEnsemble.h.

◆ fImportanceRef

Double_t TMVA::RuleEnsemble::fImportanceRef
private

Definition at line 351 of file RuleEnsemble.h.

◆ fLearningModel

ELearningModel TMVA::RuleEnsemble::fLearningModel
private

Definition at line 337 of file RuleEnsemble.h.

◆ fLinCoefficients

std::vector< Double_t > TMVA::RuleEnsemble::fLinCoefficients
private

Definition at line 345 of file RuleEnsemble.h.

◆ fLinDM

std::vector< Double_t > TMVA::RuleEnsemble::fLinDM
private

Definition at line 344 of file RuleEnsemble.h.

◆ fLinDP

std::vector< Double_t > TMVA::RuleEnsemble::fLinDP
private

Definition at line 343 of file RuleEnsemble.h.

◆ fLinImportance

std::vector< Double_t > TMVA::RuleEnsemble::fLinImportance
private

Definition at line 349 of file RuleEnsemble.h.

◆ fLinNorm

std::vector< Double_t > TMVA::RuleEnsemble::fLinNorm
private

Definition at line 346 of file RuleEnsemble.h.

◆ fLinPDFB

std::vector< TH1F* > TMVA::RuleEnsemble::fLinPDFB
private

Definition at line 347 of file RuleEnsemble.h.

◆ fLinPDFS

std::vector< TH1F* > TMVA::RuleEnsemble::fLinPDFS
private

Definition at line 348 of file RuleEnsemble.h.

◆ fLinQuantile

Double_t TMVA::RuleEnsemble::fLinQuantile
private

Definition at line 339 of file RuleEnsemble.h.

◆ fLinTermOK

std::vector< Char_t > TMVA::RuleEnsemble::fLinTermOK
private

Definition at line 342 of file RuleEnsemble.h.

◆ fLogger

MsgLogger* TMVA::RuleEnsemble::fLogger
mutableprivate

Definition at line 381 of file RuleEnsemble.h.

◆ fNRulesGenerated

UInt_t TMVA::RuleEnsemble::fNRulesGenerated
private

Definition at line 366 of file RuleEnsemble.h.

◆ fOffset

Double_t TMVA::RuleEnsemble::fOffset
private

Definition at line 340 of file RuleEnsemble.h.

◆ fRuleFit

const RuleFit* TMVA::RuleEnsemble::fRuleFit
private

Definition at line 379 of file RuleEnsemble.h.

◆ fRuleFSig

Double_t TMVA::RuleEnsemble::fRuleFSig
private

Definition at line 361 of file RuleEnsemble.h.

◆ fRuleMap

std::vector< std::vector<UInt_t> > TMVA::RuleEnsemble::fRuleMap
private

Definition at line 374 of file RuleEnsemble.h.

◆ fRuleMapEvents

const std::vector<const TMVA::Event *>* TMVA::RuleEnsemble::fRuleMapEvents
private

Definition at line 377 of file RuleEnsemble.h.

◆ fRuleMapInd0

UInt_t TMVA::RuleEnsemble::fRuleMapInd0
private

Definition at line 375 of file RuleEnsemble.h.

◆ fRuleMapInd1

UInt_t TMVA::RuleEnsemble::fRuleMapInd1
private

Definition at line 376 of file RuleEnsemble.h.

◆ fRuleMapOK

Bool_t TMVA::RuleEnsemble::fRuleMapOK
private

Definition at line 373 of file RuleEnsemble.h.

◆ fRuleMinDist

Double_t TMVA::RuleEnsemble::fRuleMinDist
private

Definition at line 365 of file RuleEnsemble.h.

◆ fRuleNCave

Double_t TMVA::RuleEnsemble::fRuleNCave
private

Definition at line 362 of file RuleEnsemble.h.

◆ fRuleNCsig

Double_t TMVA::RuleEnsemble::fRuleNCsig
private

Definition at line 363 of file RuleEnsemble.h.

◆ fRulePBB

std::vector< Double_t > TMVA::RuleEnsemble::fRulePBB
private

Definition at line 359 of file RuleEnsemble.h.

◆ fRulePBS

std::vector< Double_t > TMVA::RuleEnsemble::fRulePBS
private

Definition at line 358 of file RuleEnsemble.h.

◆ fRulePSB

std::vector< Double_t > TMVA::RuleEnsemble::fRulePSB
private

Definition at line 357 of file RuleEnsemble.h.

◆ fRulePSS

std::vector< Double_t > TMVA::RuleEnsemble::fRulePSS
private

Definition at line 356 of file RuleEnsemble.h.

◆ fRulePTag

std::vector< Double_t > TMVA::RuleEnsemble::fRulePTag
private

Definition at line 360 of file RuleEnsemble.h.

◆ fRules

std::vector< TMVA::Rule* > TMVA::RuleEnsemble::fRules
private

Definition at line 341 of file RuleEnsemble.h.

◆ fRuleVarFrac

std::vector< Double_t > TMVA::RuleEnsemble::fRuleVarFrac
private

Definition at line 355 of file RuleEnsemble.h.

◆ fVarImportance

std::vector< Double_t > TMVA::RuleEnsemble::fVarImportance
private

Definition at line 350 of file RuleEnsemble.h.

Libraries for TMVA::RuleEnsemble:
[legend]

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