27#ifndef ROOT_TMVA_RuleFit
28#define ROOT_TMVA_RuleFit
166 std::vector< const TMVA::DecisionTree *>
fForest;
#define ClassDef(name, id)
2-D histogram with a float per channel (see TH1 documentation)
Implementation of a Decision Tree.
Virtual base Class for all MVA method.
J Friedman's RuleFit method.
ostringstream derivative to redirect and format output
void SetRuleMinDist(Double_t d)
void SetImportanceCut(Double_t minimp=0)
A class doing the actual fitting of a linear model using rules as base functions.
void SetGDPathStep(Double_t s)
void SetGDTau(Double_t t)
void SetGDNPathSteps(Int_t np)
A class implementing various fits of rule ensembles.
void GetRndmSampleEvents(std::vector< const TMVA::Event * > &evevec, UInt_t nevents)
draw a random subsample of the training events without replacement
Double_t EvalEvent(const Event &e)
evaluate single event
UInt_t fNTreeSample
number of events in sub sample = frac*neve
void SetMethodBase(const MethodBase *rfbase)
set MethodBase
Double_t GetNEveEff() const
void InitPtrs(const TMVA::MethodBase *rfbase)
initialize pointers
void Boost(TMVA::DecisionTree *dt)
Boost the events.
RuleEnsemble * GetRuleEnsemblePtr()
Bool_t fVisHistsUseImp
if true, use importance as weight; else coef in vis hists
const RuleFitParams & GetRuleFitParams() const
void ForestStatistics()
summary of statistics of all trees
static const Int_t randSEED
void CalcImportance()
calculates the importance of each rule
RuleFitParams * GetRuleFitParamsPtr()
void SetMsgType(EMsgType t)
set the current message type to that of mlog for this class and all other subtools
void Initialize(const TMVA::MethodBase *rfbase)
initialize the parameters of the RuleFit method and make rules
std::vector< const TMVA::Event * > fTrainingEventsRndm
idem, but randomly shuffled
virtual ~RuleFit(void)
destructor
void FillVisHistCorr(const Rule *rule, std::vector< TH2F * > &hlist)
help routine to MakeVisHists() - fills for all correlation plots
std::default_random_engine fRNGEngine
void InitNEveEff()
init effective number of events (using event weights)
UInt_t GetNTreeSample() const
std::vector< const TMVA::DecisionTree * > fForest
the input forest of decision trees
void SetGDPathStep(Double_t s=0.01)
const MethodBase * fMethodBase
pointer the method base which initialized this RuleFit instance
Double_t GetTrainingEventWeight(UInt_t i) const
std::vector< const TMVA::Event * > fTrainingEvents
all training events
void SaveEventWeights()
save event weights - must be done before making the forest
void FillCut(TH2F *h2, const TMVA::Rule *rule, Int_t vind)
Fill cut.
void FillLin(TH2F *h2, Int_t vind)
fill lin
Bool_t GetCorrVars(TString &title, TString &var1, TString &var2)
get first and second variables from title
void UseCoefficientsVisHists()
const Event * GetTrainingEvent(UInt_t i) const
void MakeForest()
make a forest of decisiontrees
const std::vector< const TMVA::DecisionTree * > & GetForest() const
void FitCoefficients()
Fit the coefficients for the rule ensemble.
void SetRuleMinDist(Double_t d)
RuleFit(const RuleFit &other)
const MethodRuleFit * fMethodRuleFit
pointer the method which initialized this RuleFit instance
const MethodBase * GetMethodBase() const
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 NormVisHists(std::vector< TH2F * > &hlist)
normalize rule importance hists
void SetGDNPathSteps(Int_t n=100)
void RestoreEventWeights()
save event weights - must be done before making the forest
RuleFitParams fRuleFitParams
fit rule parameters
void SetVisHistsUseImp(Bool_t f)
void MakeVisHists()
this will create histograms visualizing the rule ensemble
void FillVisHistCut(const Rule *rule, std::vector< TH2F * > &hlist)
help routine to MakeVisHists() - fills for all variables
std::vector< Double_t > fEventWeights
original weights of the events - follows fTrainingEvents
void BuildTree(TMVA::DecisionTree *dt)
build the decision tree using fNTreeSample events from fTrainingEventsRndm
const std::vector< const TMVA::Event * > & GetTrainingEvents() const
void SetGDTau(Double_t t=0.0)
const MethodRuleFit * GetMethodRuleFit() const
void UseImportanceVisHists()
void SetTrainingEvents(const std::vector< const TMVA::Event * > &el)
set the training events randomly
Double_t fNEveEffTrain
reweighted number of events = sum(wi)
void Copy(const RuleFit &other)
copy method
RuleEnsemble fRuleEnsemble
the ensemble of rules
const RuleEnsemble & GetRuleEnsemble() const
void SetImportanceCut(Double_t minimp=0)
Double_t CalcWeightSum(const std::vector< const TMVA::Event * > *events, UInt_t neve=0)
calculate the sum of weights
RuleFit(void)
default constructor
MsgLogger * fLogger
! message logger
void MakeDebugHists()
this will create a histograms intended rather for debugging or for the curious user
Implementation of a rule.
create variable transformations