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
64namespace TMVA {
65
67
68 public:
69
70 //default constructor
71 RegressionVariance(){fName = "Variance for Regression";}
72
73 //copy constructor
75
76 // destructor
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
double Double_t
Definition: RtypesCore.h:59
#define ClassDef(name, id)
Definition: Rtypes.h:325
Calculate the "SeparationGain" for Regression analysis separation criteria used in various training a...
virtual Double_t GetSeparationIndex(const Double_t n, const Double_t target, const Double_t target2)
Separation Index: a simple Variance.
RegressionVariance(const RegressionVariance &s)
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...
Basic string class.
Definition: TString.h:136
const Int_t n
Definition: legend1.C:16
static constexpr double s
create variable transformations