Logo ROOT  
Reference Guide
RegressionVariance.h
Go to the documentation of this file.
1 // @(#)root/tmva $Id$
2 // Author: Andreas Hoecker, Joerg Stelzer, Helge Voss, Kai Voss
3 
4 /**********************************************************************************
5  * Project: TMVA - a Root-integrated toolkit for multivariate data analysis *
6  * Package: TMVA *
7  * Class : RegressionVariance *
8  * Web : http://tmva.sourceforge.net *
9  * *
10  * Description: Calculate the separation criteria used in regression *
11  * *
12  * There are two things: the Separation Index, and the Separation Gain *
13  * Separation Index: *
14  * Measure of the "Variance" of a sample. *
15  * *
16  * Separation Gain: *
17  * the measure of how the quality of separation of the sample increases *
18  * by splitting the sample e.g. into a "left-node" and a "right-node" *
19  * (N * Index_parent) - (N_left * Index_left) - (N_right * Index_right) *
20  * this is then the quality criteria which is optimized for when trying *
21  * to increase the information in the system (making the best selection *
22  * *
23  * *
24  * Authors (alphabetical): *
25  * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, Germany *
26  * *
27  * Copyright (c) 2005: *
28  * CERN, Switzerland *
29  * U. of Victoria, Canada *
30  * Heidelberg U., Germany *
31  * *
32  * Redistribution and use in source and binary forms, with or without *
33  * modification, are permitted according to the terms listed in LICENSE *
34  * (http://tmva.sourceforge.net/LICENSE) *
35  **********************************************************************************/
36 
37 #ifndef ROOT_TMVA_RegressionVariance
38 #define ROOT_TMVA_RegressionVariance
39 
40 //////////////////////////////////////////////////////////////////////////
41 // //
42 // RegressionVariance //
43 // //
44 // Calculate the "SeparationGain" for Regression analysis //
45 // separation criteria used in various training algorithms //
46 // //
47 // There are two things: the Separation Index, and the Separation Gain //
48 // Separation Index: //
49 // Measure of the "Variance" of a sample. //
50 // //
51 // Separation Gain: //
52 // the measure of how the quality of separation of the sample increases //
53 // by splitting the sample e.g. into a "left-node" and a "right-node" //
54 // (N * Index_parent) - (N_left * Index_left) - (N_right * Index_right) //
55 // this is then the quality criteria which is optimized for when trying //
56 // to increase the information in the system (making the best selection //
57 // //
58 //////////////////////////////////////////////////////////////////////////
59 
60 #include "Rtypes.h"
61 
62 #include "TString.h"
63 
64 namespace TMVA {
65 
67 
68  public:
69 
70  //default constructor
71  RegressionVariance(){fName = "Variance for Regression";}
72 
73  //copy constructor
75 
76  // destructor
77  virtual ~RegressionVariance(){}
78 
79  // Return the gain in separation of the original sample is split in two sub-samples
80  // (N * Index_parent) - (N_left * Index_left) - (N_right * Index_right)
81  Double_t GetSeparationGain( const Double_t nLeft, const Double_t targetLeft, const Double_t target2Left,
82  const Double_t nTot, const Double_t targetTot, const Double_t target2Tot );
83 
84  // Return the separation index (a measure for "purity" of the sample")
85  virtual Double_t GetSeparationIndex( const Double_t n, const Double_t target, const Double_t target2 );
86 
87  // Return the name of the concrete Index implementation
88  TString GetName() { return fName; }
89 
90  protected:
91 
92  TString fName; // name of the concrete Separation Index implementation
93 
94  ClassDef(RegressionVariance,0); // Interface to different separation criteria used in training algorithms
95  };
96 
97 
98 } // namespace TMVA
99 
100 #endif
TMVA::RegressionVariance
Calculate the "SeparationGain" for Regression analysis separation criteria used in various training a...
Definition: RegressionVariance.h:66
n
const Int_t n
Definition: legend1.C:16
TMVA::RegressionVariance::GetSeparationGain
Double_t GetSeparationGain(const Double_t nLeft, const Double_t targetLeft, const Double_t target2Left, const Double_t nTot, const Double_t targetTot, const Double_t target2Tot)
Separation Gain: the measure of how the quality of separation of the sample increases by splitting th...
Definition: RegressionVariance.cxx:69
TMVA::RegressionVariance::RegressionVariance
RegressionVariance()
Definition: RegressionVariance.h:71
TGeant4Unit::s
static constexpr double s
Definition: TGeant4SystemOfUnits.h:162
TString
Basic string class.
Definition: TString.h:136
TString.h
TMVA::RegressionVariance::GetSeparationIndex
virtual Double_t GetSeparationIndex(const Double_t n, const Double_t target, const Double_t target2)
Separation Index: a simple Variance.
Definition: RegressionVariance.cxx:88
TMVA::RegressionVariance::~RegressionVariance
virtual ~RegressionVariance()
Definition: RegressionVariance.h:77
Double_t
double Double_t
Definition: RtypesCore.h:59
ClassDef
#define ClassDef(name, id)
Definition: Rtypes.h:325
TMVA::RegressionVariance::GetName
TString GetName()
Definition: RegressionVariance.h:88
TMVA::RegressionVariance::RegressionVariance
RegressionVariance(const RegressionVariance &s)
Definition: RegressionVariance.h:74
Rtypes.h
TMVA::RegressionVariance::fName
TString fName
Definition: RegressionVariance.h:92
TMVA
create variable transformations
Definition: GeneticMinimizer.h:22