Logo ROOT  
Reference Guide
MethodC50.h
Go to the documentation of this file.
1// @(#)root/tmva/rmva $Id$
2// Author: Omar Zapata,Lorenzo Moneta, Sergei Gleyzer 2015
3
4/**********************************************************************************
5 * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6 * Package: TMVA *
7 * Class : RMethodC50 *
8 * *
9 * Description: *
10 * R´s Package C50 method based on ROOTR *
11 * *
12 **********************************************************************************/
13
14#ifndef ROOT_TMVA_RMethodC50
15#define ROOT_TMVA_RMethodC50
16
17//////////////////////////////////////////////////////////////////////////
18// //
19// RMethodC50 //
20// //
21// //
22//////////////////////////////////////////////////////////////////////////
23
24#include "TMVA/RMethodBase.h"
25
26namespace TMVA {
27
28 class Factory; // DSMTEST
29 class Reader; // DSMTEST
30 class DataSetManager; // DSMTEST
31 class Types;
32 class MethodC50 : public RMethodBase {
33
34 public :
35
36 // constructors
37 MethodC50(const TString &jobName,
38 const TString &methodTitle,
39 DataSetInfo &theData,
40 const TString &theOption = "");
41
43 const TString &theWeightFile);
44
45
46 ~MethodC50(void);
47 void Train();
48 // options treatment
49 void Init();
50 void DeclareOptions();
51 void ProcessOptions();
52 // create ranking
54 {
55 return NULL; // = 0;
56 }
57
58
59 Bool_t HasAnalysisType(Types::EAnalysisType type, UInt_t numberClasses, UInt_t numberTargets);
60
61 // performs classifier testing
62 virtual void TestClassification();
63
64
65 Double_t GetMvaValue(Double_t *errLower = 0, Double_t *errUpper = 0);
66 virtual void MakeClass(const TString &classFileName = TString("")) const; //required for model persistence
68 // the actual "weights"
69 virtual void AddWeightsXMLTo(void * /*parent*/) const {} // = 0;
70 virtual void ReadWeightsFromXML(void * /*weight*/) {} // = 0;
71 virtual void ReadWeightsFromStream(std::istream &) {} //= 0; // backward compatibility
72
73 // signal/background classification response for all current set of data
74 virtual std::vector<Double_t> GetMvaValues(Long64_t firstEvt = 0, Long64_t lastEvt = -1, Bool_t logProgress = false);
75
76 void ReadModelFromFile();
77 private :
79 friend class Factory; // DSMTEST
80 friend class Reader; // DSMTEST
81 protected:
82 //C5.0 function options
83 UInt_t fNTrials;//number of trials with boost enabled
84 Bool_t fRules;//A logical: should the tree be decomposed into a rule-based model?
85
86 //Control options see C5.0Control
87 Bool_t fControlSubset; //A logical: should the model evaluate groups of discrete predictors for splits?
89 Bool_t fControlWinnow;// A logical: should predictor winnowing (i.e feature selection) be used?
90 Bool_t fControlNoGlobalPruning; //A logical to toggle whether the final, global pruning step to simplify the tree.
91 Double_t fControlCF; //A number in (0, 1) for the confidence factor.
92 UInt_t fControlMinCases;//an integer for the smallest number of samples that must be put in at least two of the splits.
93 Bool_t fControlFuzzyThreshold;//A logical toggle to evaluate possible advanced splits of the data. See Quinlan (1993) for details and examples.
94 Double_t fControlSample;//A value between (0, .999) that specifies the random proportion of the data should be used to train the model.
95 Int_t fControlSeed;//An integer for the random number seed within the C code.
96 Bool_t fControlEarlyStopping;// logical to toggle whether the internal method for stopping boosting should be used.
97
100
107 std::vector <TString > ListOfVariables;
108
109
110 // get help message text
111 void GetHelpMessage() const;
112
114 };
115} // namespace TMVA
116#endif
unsigned int UInt_t
Definition: RtypesCore.h:44
bool Bool_t
Definition: RtypesCore.h:61
double Double_t
Definition: RtypesCore.h:57
long long Long64_t
Definition: RtypesCore.h:71
#define ClassDef(name, id)
Definition: Rtypes.h:322
int type
Definition: TGX11.cxx:120
This is a class to pass functions from ROOT to R.
This is a class to get ROOT's objects from R's objects.
Definition: TRObject.h:70
Class that contains all the data information.
Definition: DataSetInfo.h:60
Class that contains all the data information.
This is the main MVA steering class.
Definition: Factory.h:81
virtual void ReadWeightsFromStream(std::istream &)=0
void GetHelpMessage() const
Definition: MethodC50.cxx:304
static Bool_t IsModuleLoaded
Definition: MethodC50.h:99
DataSetManager * fDataSetManager
Definition: MethodC50.h:78
virtual void TestClassification()
initialization
Definition: MethodC50.cxx:217
Bool_t fControlSubset
Definition: MethodC50.h:87
ROOT::R::TRFunctionImport asfactor
Definition: MethodC50.h:104
ROOT::R::TRObject * fModel
Definition: MethodC50.h:105
Double_t GetMvaValue(Double_t *errLower=0, Double_t *errUpper=0)
Definition: MethodC50.cxx:225
virtual void ReadWeightsFromXML(void *)
Definition: MethodC50.h:70
void DeclareOptions()
Definition: MethodC50.cxx:156
Double_t fControlCF
Definition: MethodC50.h:91
Bool_t HasAnalysisType(Types::EAnalysisType type, UInt_t numberClasses, UInt_t numberTargets)
Definition: MethodC50.cxx:115
const Ranking * CreateRanking()
Definition: MethodC50.h:53
Int_t fControlSeed
Definition: MethodC50.h:95
virtual void MakeClass(const TString &classFileName=TString("")) const
create reader class for method (classification only at present)
Definition: MethodC50.cxx:339
Bool_t fControlNoGlobalPruning
Definition: MethodC50.h:90
Bool_t fControlFuzzyThreshold
Definition: MethodC50.h:93
Double_t fControlSample
Definition: MethodC50.h:94
Bool_t fRules
Definition: MethodC50.h:84
UInt_t fNTrials
Definition: MethodC50.h:83
std::vector< TString > ListOfVariables
Definition: MethodC50.h:107
Bool_t fControlEarlyStopping
Definition: MethodC50.h:96
ROOT::R::TRFunctionImport C50Control
Definition: MethodC50.h:103
virtual std::vector< Double_t > GetMvaValues(Long64_t firstEvt=0, Long64_t lastEvt=-1, Bool_t logProgress=false)
get all the MVA values for the events of the current Data type
Definition: MethodC50.cxx:246
void ProcessOptions()
Definition: MethodC50.cxx:196
ROOT::R::TRObject fModelControl
Definition: MethodC50.h:106
UInt_t fMvaCounter
Definition: MethodC50.h:98
ROOT::R::TRFunctionImport predict
Definition: MethodC50.h:101
Bool_t fControlWinnow
Definition: MethodC50.h:89
ROOT::R::TRFunctionImport C50
Definition: MethodC50.h:102
MethodC50(const TString &jobName, const TString &methodTitle, DataSetInfo &theData, const TString &theOption="")
Definition: MethodC50.cxx:50
virtual void ReadWeightsFromStream(std::istream &)
Definition: MethodC50.h:71
UInt_t fControlMinCases
Definition: MethodC50.h:92
void ReadModelFromFile()
Definition: MethodC50.cxx:324
UInt_t fControlBands
Definition: MethodC50.h:88
virtual void AddWeightsXMLTo(void *) const
Definition: MethodC50.h:69
Ranking for variables in method (implementation)
Definition: Ranking.h:48
The Reader class serves to use the MVAs in a specific analysis context.
Definition: Reader.h:63
EAnalysisType
Definition: Types.h:127
Basic string class.
Definition: TString.h:131
create variable transformations