#ifndef ROOT_TMVA_MethodRuleFit
#define ROOT_TMVA_MethodRuleFit
#ifndef ROOT_TMVA_MethodBase
#include "TMVA/MethodBase.h"
#endif
#ifndef ROOT_TMVA_TMatrixD
#include "TMatrixD.h"
#endif
#ifndef ROOT_TMVA_TVectorD
#include "TVectorD.h"
#endif
#ifndef ROOT_TMVA_DecisionTree
#include "TMVA/DecisionTree.h"
#endif
#ifndef ROOT_TMVA_SeparationBase
#include "TMVA/SeparationBase.h"
#endif
#ifndef ROOT_TMVA_GiniIndex
#include "TMVA/GiniIndex.h"
#endif
#ifndef ROOT_TMVA_CrossEntropy
#include "TMVA/CrossEntropy.h"
#endif
#ifndef ROOT_TMVA_MisClassificationError
#include "TMVA/MisClassificationError.h"
#endif
#ifndef ROOT_TMVA_SdivSqrtSplusB
#include "TMVA/SdivSqrtSplusB.h"
#endif
#ifndef ROOT_TMVA_RULEFIT_H
#include "TMVA/RuleFit.h"
#endif
namespace TMVA {
class MethodRuleFit : public MethodBase {
public:
MethodRuleFit( const TString& jobName,
const TString& methodTitle,
DataSet& theData,
const TString& theOption = "",
TDirectory* theTargetDir = 0 );
MethodRuleFit( DataSet& theData,
const TString& theWeightFile,
TDirectory* theTargetDir = NULL );
virtual ~MethodRuleFit( void );
void Train( void );
using MethodBase::WriteWeightsToStream;
using MethodBase::ReadWeightsFromStream;
void WriteWeightsToStream( ostream& o ) const;
void ReadWeightsFromStream( istream& istr );
Double_t GetMvaValue();
void WriteMonitoringHistosToFile( void ) const;
const Ranking* CreateRanking();
Bool_t UseBoost() const { return fUseBoost; }
RuleFit *GetRuleFitPtr() { return &fRuleFit; }
const RuleFit *GetRuleFitConstPtr() const { return &fRuleFit; }
TDirectory* GetMethodBaseDir() const { return BaseDir(); }
const std::vector<TMVA::Event*> &GetTrainingEvents() const { return fEventSample; }
const std::vector<TMVA::DecisionTree*> &GetForest() const { return fForest; }
Int_t GetNTrees() const { return fNTrees; }
Double_t GetTreeEveFrac() const { return fTreeEveFrac; }
const SeparationBase *GetSeparationBaseConst() const { return fSepType; }
SeparationBase *GetSeparationBase() const { return fSepType; }
TMVA::DecisionTree::EPruneMethod GetPruneMethod() const { return fPruneMethod; }
Double_t GetPruneStrength() const { return fPruneStrength; }
Double_t GetMinFracNEve() const { return fMinFracNEve; }
Double_t GetMaxFracNEve() const { return fMaxFracNEve; }
Int_t GetNCuts() const { return fNCuts; }
Int_t GetGDNPathSteps() const { return fGDNPathSteps; }
Double_t GetGDPathStep() const { return fGDPathStep; }
Double_t GetGDErrScale() const { return fGDErrScale; }
Double_t GetGDPathEveFrac() const { return fGDPathEveFrac; }
Double_t GetGDValidEveFrac() const { return fGDValidEveFrac; }
Double_t GetLinQuantile() const { return fLinQuantile; }
const TString GetRFWorkDir() const { return fRFWorkDir; }
Int_t GetRFNrules() const { return fRFNrules; }
Int_t GetRFNendnodes() const { return fRFNendnodes; }
protected:
void MakeClassSpecific( std::ostream&, const TString& ) const;
void MakeClassRuleCuts( std::ostream& ) const;
void MakeClassLinear( std::ostream& ) const;
void GetHelpMessage() const;
void InitRuleFit( void );
void InitEventSample( void );
void InitMonitorNtuple();
void TrainTMVARuleFit();
void TrainJFRuleFit();
private:
void DeclareOptions();
void ProcessOptions();
RuleFit fRuleFit;
std::vector< Event *> fEventSample;
Double_t fSignalFraction;
TTree *fMonitorNtuple;
Double_t fNTImportance;
Double_t fNTCoefficient;
Double_t fNTSupport;
Int_t fNTNcuts;
Int_t fNTNvars;
Double_t fNTPtag;
Double_t fNTPss;
Double_t fNTPsb;
Double_t fNTPbs;
Double_t fNTPbb;
Double_t fNTSSB;
Int_t fNTType;
TString fRuleFitModuleS;
Bool_t fUseRuleFitJF;
TString fRFWorkDir;
Int_t fRFNrules;
Int_t fRFNendnodes;
std::vector<DecisionTree *> fForest;
Int_t fNTrees;
Double_t fTreeEveFrac;
SeparationBase *fSepType;
Double_t fMinFracNEve;
Double_t fMaxFracNEve;
Int_t fNCuts;
TString fSepTypeS;
TString fPruneMethodS;
TMVA::DecisionTree::EPruneMethod fPruneMethod;
Double_t fPruneStrength;
TString fForestTypeS;
Bool_t fUseBoost;
Double_t fGDPathEveFrac;
Double_t fGDValidEveFrac;
Double_t fGDTau;
Double_t fGDTauPrec;
Double_t fGDTauMin;
Double_t fGDTauMax;
UInt_t fGDTauScan;
Double_t fGDPathStep;
Int_t fGDNPathSteps;
Double_t fGDErrScale;
Double_t fMinimp;
TString fModelTypeS;
Double_t fRuleMinDist;
Double_t fLinQuantile;
ClassDef(MethodRuleFit,0)
};
}
#endif // MethodRuleFit_H
Last change: Sat Nov 1 10:21:54 2008
Last generated: 2008-11-01 10:21
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.