Fisher and Mahalanobis Discriminants (Linear Discriminant Analysis)
In the method of Fisher discriminants event selection is performed in a transformed variable space with zero linear correlations, by distinguishing the mean values of the signal and background distributions.
The linear discriminant analysis determines an axis in the (correlated) hyperspace of the input variables such that, when projecting the output classes (signal and background) upon this axis, they are pushed as far as possible away from each other, while events of a same class are confined in a close vicinity. The linearity property of this method is reflected in the metric with which "far apart" and "close vicinity" are determined: the covariance matrix of the discriminant variable space.
The classification of the events in signal and background classes relies on the following characteristics (only): overall sample means, \( x_i \), for each input variable, \( i \), class-specific sample means, \( x_{S(B),i}\), and total covariance matrix \( T_{ij} \). The covariance matrix can be decomposed into the sum of a within ( \( W_{ij} \)) and a between-class ( \( B_{ij} \)) class matrix. They describe the dispersion of events relative to the means of their own class (within-class matrix), and relative to the overall sample means (between-class matrix). The Fisher coefficients, \( F_i \), are then given by
\[ F_i = \frac{\sqrt{N_s N_b}}{N_s + N_b} \sum_{j=1}^{N_{SB}} W_{ij}^{-1} (\bar{X}_{Sj} - \bar{X}_{Bj}) \]
where in TMVA is set \( N_S = N_B \), so that the factor in front of the sum simplifies to \( \frac{1}{2}\). The Fisher discriminant then reads
\[ X_{Fi} = F_0 + \sum_{i=1}^{N_{SB}} F_i X_i \]
The offset \( F_0 \) centers the sample mean of \( x_{Fi} \) at zero. Instead of using the within-class matrix, the Mahalanobis variant determines the Fisher coefficients as follows:
\[ F_i = \frac{\sqrt{N_s N_b}}{N_s + N_b} \sum_{j=1}^{N_{SB}} (W + B)_{ij}^{-1} (\bar{X}_{Sj} - \bar{X}_{Bj}) \]
with resulting \( x_{Ma} \) that are very similar to the \( x_{Fi} \).
TMVA provides two outputs for the ranking of the input variables:
\[ \lambda = \frac{\sqrt{N_s N_b}}{N_s + N_b} \sum_{j=1}^{N_{SB}} F_i (\bar{X}_{Sj} - \bar{X}_{Bj}) \]
The corresponding numbers are printed on standard output.
Definition at line 54 of file MethodFisher.h.
Public Types | |
enum | EFisherMethod { kFisher , kMahalanobis } |
Public Types inherited from TMVA::MethodBase | |
enum | EWeightFileType { kROOT =0 , kTEXT } |
Public Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = (1ULL << ( 0 )) , kOverwrite = (1ULL << ( 1 )) , kWriteDelete = (1ULL << ( 2 )) } |
enum | EDeprecatedStatusBits { kObjInCanvas = (1ULL << ( 3 )) } |
enum | EStatusBits { kCanDelete = (1ULL << ( 0 )) , kMustCleanup = (1ULL << ( 3 )) , kIsReferenced = (1ULL << ( 4 )) , kHasUUID = (1ULL << ( 5 )) , kCannotPick = (1ULL << ( 6 )) , kNoContextMenu = (1ULL << ( 8 )) , kInvalidObject = (1ULL << ( 13 )) } |
Public Member Functions | |
MethodFisher (const TString &jobName, const TString &methodTitle, DataSetInfo &dsi, const TString &theOption="Fisher") | |
standard constructor for the "Fisher" | |
MethodFisher (DataSetInfo &dsi, const TString &theWeightFile) | |
constructor from weight file | |
virtual | ~MethodFisher (void) |
destructor | |
void | AddWeightsXMLTo (void *parent) const |
create XML description of Fisher classifier | |
const Ranking * | CreateRanking () |
computes ranking of input variables | |
EFisherMethod | GetFisherMethod (void) |
Double_t | GetMvaValue (Double_t *err=nullptr, Double_t *errUpper=nullptr) |
returns the Fisher value (no fixed range) | |
virtual Bool_t | HasAnalysisType (Types::EAnalysisType type, UInt_t numberClasses, UInt_t numberTargets) |
Fisher can only handle classification with 2 classes. | |
virtual TClass * | IsA () const |
void | PrintCoefficients (void) |
display Fisher coefficients and discriminating power for each variable check maximum length of variable name | |
virtual void | ReadWeightsFromStream (std::istream &)=0 |
void | ReadWeightsFromStream (std::istream &i) |
read Fisher coefficients from weight file | |
virtual void | ReadWeightsFromStream (TFile &) |
void | ReadWeightsFromXML (void *wghtnode) |
read Fisher coefficients from xml weight file | |
virtual void | Streamer (TBuffer &) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
void | Train (void) |
computation of Fisher coefficients by series of matrix operations | |
Public Member Functions inherited from TMVA::MethodBase | |
MethodBase (const TString &jobName, Types::EMVA methodType, const TString &methodTitle, DataSetInfo &dsi, const TString &theOption="") | |
standard constructor | |
MethodBase (Types::EMVA methodType, DataSetInfo &dsi, const TString &weightFile) | |
constructor used for Testing + Application of the MVA, only (no training), using given WeightFiles | |
virtual | ~MethodBase () |
destructor | |
void | AddOutput (Types::ETreeType type, Types::EAnalysisType analysisType) |
TDirectory * | BaseDir () const |
returns the ROOT directory where info/histograms etc of the corresponding MVA method instance are stored | |
virtual void | CheckSetup () |
check may be overridden by derived class (sometimes, eg, fitters are used which can only be implemented during training phase) | |
DataSet * | Data () const |
DataSetInfo & | DataInfo () const |
virtual void | DeclareCompatibilityOptions () |
options that are used ONLY for the READER to ensure backward compatibility they are hence without any effect (the reader is only reading the training options that HAD been used at the training of the .xml weight file at hand | |
void | DisableWriting (Bool_t setter) |
Bool_t | DoMulticlass () const |
Bool_t | DoRegression () const |
void | ExitFromTraining () |
Types::EAnalysisType | GetAnalysisType () const |
UInt_t | GetCurrentIter () |
virtual Double_t | GetEfficiency (const TString &, Types::ETreeType, Double_t &err) |
fill background efficiency (resp. | |
const Event * | GetEvent () const |
const Event * | GetEvent (const TMVA::Event *ev) const |
const Event * | GetEvent (Long64_t ievt) const |
const Event * | GetEvent (Long64_t ievt, Types::ETreeType type) const |
const std::vector< TMVA::Event * > & | GetEventCollection (Types::ETreeType type) |
returns the event collection (i.e. | |
TFile * | GetFile () const |
const TString & | GetInputLabel (Int_t i) const |
const char * | GetInputTitle (Int_t i) const |
const TString & | GetInputVar (Int_t i) const |
TMultiGraph * | GetInteractiveTrainingError () |
const TString & | GetJobName () const |
virtual Double_t | GetKSTrainingVsTest (Char_t SorB, TString opt="X") |
virtual Double_t | GetMaximumSignificance (Double_t SignalEvents, Double_t BackgroundEvents, Double_t &optimal_significance_value) const |
plot significance, \( \frac{S}{\sqrt{S^2 + B^2}} \), curve for given number of signal and background events; returns cut for maximum significance also returned via reference is the maximum significance | |
UInt_t | GetMaxIter () |
Double_t | GetMean (Int_t ivar) const |
const TString & | GetMethodName () const |
Types::EMVA | GetMethodType () const |
TString | GetMethodTypeName () const |
virtual TMatrixD | GetMulticlassConfusionMatrix (Double_t effB, Types::ETreeType type) |
Construct a confusion matrix for a multiclass classifier. | |
virtual std::vector< Float_t > | GetMulticlassEfficiency (std::vector< std::vector< Float_t > > &purity) |
virtual std::vector< Float_t > | GetMulticlassTrainingEfficiency (std::vector< std::vector< Float_t > > &purity) |
virtual const std::vector< Float_t > & | GetMulticlassValues () |
Double_t | GetMvaValue (const TMVA::Event *const ev, Double_t *err=nullptr, Double_t *errUpper=nullptr) |
const char * | GetName () const |
UInt_t | GetNEvents () const |
UInt_t | GetNTargets () const |
UInt_t | GetNvar () const |
UInt_t | GetNVariables () const |
virtual Double_t | GetProba (const Event *ev) |
virtual Double_t | GetProba (Double_t mvaVal, Double_t ap_sig) |
compute likelihood ratio | |
const TString | GetProbaName () const |
virtual Double_t | GetRarity (Double_t mvaVal, Types::ESBType reftype=Types::kBackground) const |
compute rarity: | |
virtual void | GetRegressionDeviation (UInt_t tgtNum, Types::ETreeType type, Double_t &stddev, Double_t &stddev90Percent) const |
virtual const std::vector< Float_t > & | GetRegressionValues () |
const std::vector< Float_t > & | GetRegressionValues (const TMVA::Event *const ev) |
Double_t | GetRMS (Int_t ivar) const |
virtual Double_t | GetROCIntegral (PDF *pdfS=nullptr, PDF *pdfB=nullptr) const |
calculate the area (integral) under the ROC curve as a overall quality measure of the classification | |
virtual Double_t | GetROCIntegral (TH1D *histS, TH1D *histB) const |
calculate the area (integral) under the ROC curve as a overall quality measure of the classification | |
virtual Double_t | GetSeparation (PDF *pdfS=nullptr, PDF *pdfB=nullptr) const |
compute "separation" defined as | |
virtual Double_t | GetSeparation (TH1 *, TH1 *) const |
compute "separation" defined as | |
Double_t | GetSignalReferenceCut () const |
Double_t | GetSignalReferenceCutOrientation () const |
virtual Double_t | GetSignificance () const |
compute significance of mean difference | |
const Event * | GetTestingEvent (Long64_t ievt) const |
Double_t | GetTestTime () const |
const TString & | GetTestvarName () const |
virtual Double_t | GetTrainingEfficiency (const TString &) |
const Event * | GetTrainingEvent (Long64_t ievt) const |
virtual const std::vector< Float_t > & | GetTrainingHistory (const char *) |
UInt_t | GetTrainingROOTVersionCode () const |
TString | GetTrainingROOTVersionString () const |
calculates the ROOT version string from the training version code on the fly | |
UInt_t | GetTrainingTMVAVersionCode () const |
TString | GetTrainingTMVAVersionString () const |
calculates the TMVA version string from the training version code on the fly | |
Double_t | GetTrainTime () const |
TransformationHandler & | GetTransformationHandler (Bool_t takeReroutedIfAvailable=true) |
const TransformationHandler & | GetTransformationHandler (Bool_t takeReroutedIfAvailable=true) const |
TString | GetWeightFileName () const |
retrieve weight file name | |
Double_t | GetXmax (Int_t ivar) const |
Double_t | GetXmin (Int_t ivar) const |
Bool_t | HasMVAPdfs () const |
void | InitIPythonInteractive () |
Bool_t | IsModelPersistence () const |
virtual Bool_t | IsSignalLike () |
uses a pre-set cut on the MVA output (SetSignalReferenceCut and SetSignalReferenceCutOrientation) for a quick determination if an event would be selected as signal or background | |
virtual Bool_t | IsSignalLike (Double_t mvaVal) |
uses a pre-set cut on the MVA output (SetSignalReferenceCut and SetSignalReferenceCutOrientation) for a quick determination if an event with this mva output value would be selected as signal or background | |
Bool_t | IsSilentFile () const |
virtual void | MakeClass (const TString &classFileName=TString("")) const |
create reader class for method (classification only at present) | |
TDirectory * | MethodBaseDir () const |
returns the ROOT directory where all instances of the corresponding MVA method are stored | |
virtual std::map< TString, Double_t > | OptimizeTuningParameters (TString fomType="ROCIntegral", TString fitType="FitGA") |
call the Optimizer with the set of parameters and ranges that are meant to be tuned. | |
void | PrintHelpMessage () const |
prints out method-specific help method | |
void | ProcessSetup () |
process all options the "CheckForUnusedOptions" is done in an independent call, since it may be overridden by derived class (sometimes, eg, fitters are used which can only be implemented during training phase) | |
void | ReadStateFromFile () |
Function to write options and weights to file. | |
void | ReadStateFromStream (std::istream &tf) |
read the header from the weight files of the different MVA methods | |
void | ReadStateFromStream (TFile &rf) |
write reference MVA distributions (and other information) to a ROOT type weight file | |
void | ReadStateFromXMLString (const char *xmlstr) |
for reading from memory | |
void | RerouteTransformationHandler (TransformationHandler *fTargetTransformation) |
virtual void | Reset () |
virtual void | SetAnalysisType (Types::EAnalysisType type) |
void | SetBaseDir (TDirectory *methodDir) |
void | SetFile (TFile *file) |
void | SetMethodBaseDir (TDirectory *methodDir) |
void | SetMethodDir (TDirectory *methodDir) |
void | SetModelPersistence (Bool_t status) |
void | SetSignalReferenceCut (Double_t cut) |
void | SetSignalReferenceCutOrientation (Double_t cutOrientation) |
void | SetSilentFile (Bool_t status) |
void | SetTestTime (Double_t testTime) |
void | SetTestvarName (const TString &v="") |
void | SetTrainTime (Double_t trainTime) |
virtual void | SetTuneParameters (std::map< TString, Double_t > tuneParameters) |
set the tuning parameters according to the argument This is just a dummy . | |
void | SetupMethod () |
setup of methods | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
virtual void | TestClassification () |
initialization | |
virtual void | TestMulticlass () |
test multiclass classification | |
virtual void | TestRegression (Double_t &bias, Double_t &biasT, Double_t &dev, Double_t &devT, Double_t &rms, Double_t &rmsT, Double_t &mInf, Double_t &mInfT, Double_t &corr, Types::ETreeType type) |
calculate <sum-of-deviation-squared> of regression output versus "true" value from test sample | |
bool | TrainingEnded () |
void | TrainMethod () |
virtual void | WriteEvaluationHistosToFile (Types::ETreeType treetype) |
writes all MVA evaluation histograms to file | |
virtual void | WriteMonitoringHistosToFile () const |
write special monitoring histograms to file dummy implementation here --------------— | |
void | WriteStateToFile () const |
write options and weights to file note that each one text file for the main configuration information and one ROOT file for ROOT objects are created | |
Public Member Functions inherited from TMVA::IMethod | |
IMethod () | |
virtual | ~IMethod () |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TMVA::Configurable | |
Configurable (const TString &theOption="") | |
constructor | |
virtual | ~Configurable () |
default destructor | |
void | AddOptionsXMLTo (void *parent) const |
write options to XML file | |
template<class T > | |
void | AddPreDefVal (const T &) |
template<class T > | |
void | AddPreDefVal (const TString &optname, const T &) |
void | CheckForUnusedOptions () const |
checks for unused options in option string | |
template<class T > | |
TMVA::OptionBase * | DeclareOptionRef (T &ref, const TString &name, const TString &desc) |
template<class T > | |
OptionBase * | DeclareOptionRef (T &ref, const TString &name, const TString &desc="") |
template<class T > | |
TMVA::OptionBase * | DeclareOptionRef (T *&ref, Int_t size, const TString &name, const TString &desc) |
template<class T > | |
OptionBase * | DeclareOptionRef (T *&ref, Int_t size, const TString &name, const TString &desc="") |
const char * | GetConfigDescription () const |
const char * | GetConfigName () const |
const TString & | GetOptions () const |
MsgLogger & | Log () const |
virtual void | ParseOptions () |
options parser | |
void | PrintOptions () const |
prints out the options set in the options string and the defaults | |
void | ReadOptionsFromStream (std::istream &istr) |
read option back from the weight file | |
void | ReadOptionsFromXML (void *node) |
void | SetConfigDescription (const char *d) |
void | SetConfigName (const char *n) |
void | SetMsgType (EMsgType t) |
void | SetOptions (const TString &s) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
void | WriteOptionsToStream (std::ostream &o, const TString &prefix) const |
write options to output stream (e.g. in writing the MVA weight files | |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TNamed &named) | |
TNamed copy ctor. | |
TNamed (const TString &name, const TString &title) | |
virtual | ~TNamed () |
TNamed destructor. | |
void | Clear (Option_t *option="") override |
Set name and title to empty strings (""). | |
TObject * | Clone (const char *newname="") const override |
Make a clone of an object using the Streamer facility. | |
Int_t | Compare (const TObject *obj) const override |
Compare two TNamed objects. | |
void | Copy (TObject &named) const override |
Copy this to obj. | |
virtual void | FillBuffer (char *&buffer) |
Encode TNamed into output buffer. | |
const char * | GetName () const override |
Returns name of object. | |
const char * | GetTitle () const override |
Returns title of object. | |
ULong_t | Hash () const override |
Return hash value for this object. | |
TClass * | IsA () const override |
Bool_t | IsSortable () const override |
void | ls (Option_t *option="") const override |
List TNamed name and title. | |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. | |
void | Print (Option_t *option="") const override |
Print TNamed name and title. | |
virtual void | SetName (const char *name) |
Set the name of the TNamed. | |
virtual void | SetNameTitle (const char *name, const char *title) |
Set all the TNamed parameters (name and title). | |
virtual void | SetTitle (const char *title="") |
Set the title of the TNamed. | |
virtual Int_t | Sizeof () const |
Return size of the TNamed part of the TObject. | |
void | Streamer (TBuffer &) override |
Stream an object of class TObject. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. | |
TObject (const TObject &object) | |
TObject copy ctor. | |
virtual | ~TObject () |
TObject destructor. | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. | |
virtual void | Browse (TBrowser *b) |
Browse object. May be overridden for another default action. | |
ULong_t | CheckedHash () |
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. | |
virtual void | Delete (Option_t *option="") |
Delete this object. | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. | |
virtual void | Draw (Option_t *option="") |
Default Draw method for all objects. | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad with: gROOT->SetSelectedPad(c1) . | |
virtual void | Dump () const |
Dump contents of object on stdout. | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. | |
virtual void | Execute (const char *method, const char *params, Int_t *error=nullptr) |
Execute method on this object with the given parameter string, e.g. | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=nullptr) |
Execute method on this object with parameters stored in the TObjArray. | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. | |
virtual const char * | GetIconName () const |
Returns mime type name of object. | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). | |
virtual Option_t * | GetOption () const |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. | |
Bool_t | HasInconsistentHash () const |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. | |
void | InvertBit (UInt_t f) |
Bool_t | IsDestructed () const |
IsDestructed. | |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
void | MayNotUse (const char *method) const |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. | |
void | operator delete (void *ptr) |
Operator delete. | |
void | operator delete[] (void *ptr) |
Operator delete []. | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. | |
virtual void | RecursiveRemove (TObject *obj) |
Recursively remove this object from a list. | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. | |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. | |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
virtual void | UseCurrentStyle () |
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. | |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. | |
virtual Int_t | Write (const char *name=nullptr, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. | |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TMVA::MethodBase | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TMVA::IMethod | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TMVA::Configurable | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TNamed | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Static Public Member Functions inherited from TObject | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
static Longptr_t | GetDtorOnly () |
Return destructor only flag. | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. | |
Protected Member Functions | |
void | GetHelpMessage () const |
get help message text | |
void | MakeClassSpecific (std::ostream &, const TString &) const |
write Fisher-specific classifier response | |
Protected Member Functions inherited from TMVA::MethodBase | |
virtual std::vector< Double_t > | GetDataMvaValues (DataSet *data=nullptr, Long64_t firstEvt=0, Long64_t lastEvt=-1, Bool_t logProgress=false) |
get all the MVA values for the events of the given Data type | |
const TString & | GetInternalVarName (Int_t ivar) const |
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 | |
const TString & | GetOriginalVarName (Int_t ivar) const |
const TString & | GetWeightFileDir () const |
Bool_t | HasTrainingTree () const |
Bool_t | Help () const |
Bool_t | IgnoreEventsWithNegWeightsInTraining () const |
Bool_t | IsConstructedFromWeightFile () const |
Bool_t | IsNormalised () const |
virtual void | MakeClassSpecificHeader (std::ostream &, const TString &="") const |
void | NoErrorCalc (Double_t *const err, Double_t *const errUpper) |
void | SetNormalised (Bool_t norm) |
void | SetWeightFileDir (TString fileDir) |
set directory of weight file | |
void | SetWeightFileName (TString) |
set the weight file name (depreciated) | |
void | Statistics (Types::ETreeType treeType, const TString &theVarName, Double_t &, Double_t &, Double_t &, Double_t &, Double_t &, Double_t &) |
calculates rms,mean, xmin, xmax of the event variable this can be either done for the variables as they are or for normalised variables (in the range of 0-1) if "norm" is set to kTRUE | |
Bool_t | TxtWeightsOnly () const |
Bool_t | Verbose () const |
Protected Member Functions inherited from TMVA::Configurable | |
void | EnableLooseOptions (Bool_t b=kTRUE) |
const TString & | GetReferenceFile () const |
Bool_t | LooseOptionCheckingEnabled () const |
void | ResetSetFlag () |
resets the IsSet flag for all declare options to be called before options are read from stream | |
void | WriteOptionsReferenceToFile () |
write complete options to output stream | |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). | |
void | MakeZombie () |
Private Member Functions | |
void | DeclareOptions () |
MethodFisher options: format and syntax of option string: "type" where type is "Fisher" or "Mahalanobis". | |
void | GetCov_BetweenClass (void) |
the matrix of covariance 'between class' reflects the dispersion of the events of a class relative to the global center of gravity of all the class hence the separation between classes | |
void | GetCov_Full (void) |
compute full covariance matrix from sum of within and between matrices | |
void | GetCov_WithinClass (void) |
the matrix of covariance 'within class' reflects the dispersion of the events relative to the center of gravity of their own class | |
void | GetDiscrimPower (void) |
computation of discrimination power indicator for each variable small values of "fWith" indicates little compactness of sig & of backgd big values of "fBetw" indicates large separation between sig & backgd | |
void | GetFisherCoeff (void) |
Fisher = Sum { [coeff]*[variables] }. | |
void | GetMean (void) |
compute mean values of variables in each sample, and the overall means | |
void | Init (void) |
default initialization called by all constructors | |
void | InitMatrices (void) |
initialization method; creates global matrices and vectors | |
void | ProcessOptions () |
process user options | |
Private Attributes | |
TMatrixD * | fBetw |
between-class matrix | |
TMatrixD * | fCov |
full covariance matrix | |
std::vector< Double_t > * | fDiscrimPow |
discriminating power | |
Double_t | fF0 |
offset | |
std::vector< Double_t > * | fFisherCoeff |
Fisher coefficients. | |
EFisherMethod | fFisherMethod |
Fisher or Mahalanobis. | |
TMatrixD * | fMeanMatx |
Double_t | fSumOfWeightsB |
sum-of-weights for background training events | |
Double_t | fSumOfWeightsS |
sum-of-weights for signal training events | |
TString | fTheMethod |
Fisher or Mahalanobis. | |
TMatrixD * | fWith |
within-class matrix | |
#include <TMVA/MethodFisher.h>
Enumerator | |
---|---|
kFisher | |
kMahalanobis |
Definition at line 86 of file MethodFisher.h.
TMVA::MethodFisher::MethodFisher | ( | const TString & | jobName, |
const TString & | methodTitle, | ||
DataSetInfo & | dsi, | ||
const TString & | theOption = "Fisher" |
||
) |
standard constructor for the "Fisher"
Definition at line 135 of file MethodFisher.cxx.
TMVA::MethodFisher::MethodFisher | ( | DataSetInfo & | dsi, |
const TString & | theWeightFile | ||
) |
constructor from weight file
Definition at line 157 of file MethodFisher.cxx.
|
virtual |
destructor
Definition at line 216 of file MethodFisher.cxx.
|
virtual |
create XML description of Fisher classifier
Implements TMVA::MethodBase.
Definition at line 618 of file MethodFisher.cxx.
|
static |
|
inlinestaticconstexpr |
Definition at line 154 of file MethodFisher.h.
|
virtual |
computes ranking of input variables
Implements TMVA::MethodBase.
Definition at line 541 of file MethodFisher.cxx.
|
privatevirtual |
MethodFisher options: format and syntax of option string: "type" where type is "Fisher" or "Mahalanobis".
Implements TMVA::MethodBase.
Definition at line 194 of file MethodFisher.cxx.
|
inlinestatic |
Definition at line 154 of file MethodFisher.h.
|
private |
the matrix of covariance 'between class' reflects the dispersion of the events of a class relative to the global center of gravity of all the class hence the separation between classes
Definition at line 417 of file MethodFisher.cxx.
|
private |
compute full covariance matrix from sum of within and between matrices
Definition at line 440 of file MethodFisher.cxx.
|
private |
the matrix of covariance 'within class' reflects the dispersion of the events relative to the center of gravity of their own class
Definition at line 351 of file MethodFisher.cxx.
|
private |
computation of discrimination power indicator for each variable small values of "fWith" indicates little compactness of sig & of backgd big values of "fBetw" indicates large separation between sig & backgd
we want signal & backgd classes as compact and separated as possible the discriminating power is then defined as the ration "fBetw/fWith"
Definition at line 528 of file MethodFisher.cxx.
|
private |
Fisher = Sum { [coeff]*[variables] }.
let Xs be the array of the mean values of variables for signal evts let Xb be the array of the mean values of variables for backgd evts let InvWith be the inverse matrix of the 'within class' correlation matrix
then the array of Fisher coefficients is [coeff] =sqrt(fNsig*fNbgd)/fNevt*transpose{Xs-Xb}*InvWith
Definition at line 457 of file MethodFisher.cxx.
|
inline |
Definition at line 87 of file MethodFisher.h.
|
protectedvirtual |
get help message text
typical length of text line: "|--------------------------------------------------------------|"
Implements TMVA::IMethod.
Definition at line 702 of file MethodFisher.cxx.
|
private |
compute mean values of variables in each sample, and the overall means
Definition at line 302 of file MethodFisher.cxx.
|
virtual |
returns the Fisher value (no fixed range)
Implements TMVA::MethodBase.
Definition at line 268 of file MethodFisher.cxx.
|
virtual |
Fisher can only handle classification with 2 classes.
Implements TMVA::IMethod.
Definition at line 228 of file MethodFisher.cxx.
|
privatevirtual |
default initialization called by all constructors
Implements TMVA::MethodBase.
Definition at line 177 of file MethodFisher.cxx.
|
private |
initialization method; creates global matrices and vectors
Definition at line 285 of file MethodFisher.cxx.
|
inlinevirtual |
Reimplemented from TMVA::MethodBase.
Definition at line 154 of file MethodFisher.h.
|
protectedvirtual |
write Fisher-specific classifier response
Reimplemented from TMVA::MethodBase.
Definition at line 655 of file MethodFisher.cxx.
void TMVA::MethodFisher::PrintCoefficients | ( | void | ) |
display Fisher coefficients and discriminating power for each variable check maximum length of variable name
Definition at line 557 of file MethodFisher.cxx.
|
privatevirtual |
|
virtual |
Implements TMVA::MethodBase.
|
virtual |
read Fisher coefficients from weight file
Implements TMVA::MethodBase.
Definition at line 609 of file MethodFisher.cxx.
|
inlinevirtual |
Reimplemented from TMVA::MethodBase.
Definition at line 266 of file MethodBase.h.
|
virtual |
read Fisher coefficients from xml weight file
Implements TMVA::MethodBase.
Definition at line 635 of file MethodFisher.cxx.
|
virtual |
Reimplemented from TMVA::MethodBase.
|
inline |
Definition at line 154 of file MethodFisher.h.
|
virtual |
computation of Fisher coefficients by series of matrix operations
Implements TMVA::MethodBase.
Definition at line 237 of file MethodFisher.cxx.
|
private |
between-class matrix
Definition at line 139 of file MethodFisher.h.
|
private |
full covariance matrix
Definition at line 141 of file MethodFisher.h.
|
private |
discriminating power
Definition at line 147 of file MethodFisher.h.
|
private |
offset
Definition at line 149 of file MethodFisher.h.
|
private |
Fisher coefficients.
Definition at line 148 of file MethodFisher.h.
|
private |
Fisher or Mahalanobis.
Definition at line 136 of file MethodFisher.h.
|
private |
Definition at line 132 of file MethodFisher.h.
|
private |
sum-of-weights for background training events
Definition at line 145 of file MethodFisher.h.
|
private |
sum-of-weights for signal training events
Definition at line 144 of file MethodFisher.h.
|
private |
Fisher or Mahalanobis.
Definition at line 135 of file MethodFisher.h.
|
private |
within-class matrix
Definition at line 140 of file MethodFisher.h.