ROOT
6.07/09
Reference Guide
ROOT Home Page
Main Page
Tutorials
User's Classes
Namespaces
All Classes
Files
Release Notes
File List
File Members
tmva
tmva
src
GiniIndexWithLaplace.cxx
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 : TMVA::GiniIndex *
8
* Web : http://tmva.sourceforge.net *
9
* *
10
* Description: Implementation of the GiniIndex With Laplace correction *
11
* as separation criterion *
12
* Gini(Sample M) = 1 - (c(1)/N)^2 - (c(2)/N)^2 .... - (c(k)/N)^2 *
13
* Where: M is a smaple of whatever N elements (events) *
14
* that belong to K different classes *
15
* c(k) is the number of elements that belong to class k *
16
* Laplace's correction to the prob.density c/N --> (c+1)/(N+2) *
17
* for just Signal and Background classes this then boils down to: *
18
* Gini(Sample) = 2(s*b+s+b+1)/(s+b+2)^2 *
19
* *
20
* Authors (alphabetical): *
21
* Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
22
* Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, Germany *
23
* Kai Voss <Kai.Voss@cern.ch> - U. of Victoria, Canada *
24
* *
25
* Copyright (c) 2005: *
26
* CERN, Switzerland *
27
* U. of Victoria, Canada *
28
* Heidelberg U., Germany *
29
* *
30
* Redistribution and use in source and binary forms, with or without *
31
* modification, are permitted according to the terms listed in LICENSE *
32
* (http://tmva.sourceforge.net/LICENSE) *
33
**********************************************************************************/
34
35
//_______________________________________________________________________
36
//
37
// Implementation of the GiniIndexWithLaplace as separation criterion
38
//
39
//_______________________________________________________________________
40
41
#include "
TMVA/GiniIndexWithLaplace.h
"
42
43
#include "
Rtypes.h
"
44
45
ClassImp
(
TMVA::GiniIndexWithLaplace
)
46
47
////////////////////////////////////////////////////////////////////////////////
48
/// Gini(Sample M) = 1 - (c(1)/N)^2 - (c(2)/N)^2 .... - (c(k)/N)^2
49
/// Where: M is a smaple of whatever N elements (events)
50
/// that belong to K different classes
51
/// c(k) is the number of elements that belong to class k
52
/// Laplace's correction to the prob.density c/N --> (c+1)/(N+2)
53
/// for just Signal and Background classes this then boils down to:
54
/// Gini(Sample) = 2(s*b+s+b+1)/(s+b+2)^2
55
56
Double_t
TMVA
::
GiniIndexWithLaplace
::GetSeparationIndex( const
Double_t
&s, const
Double_t
&
b
)
57
{
58
if
(s+b <= 0)
return
0;
59
if
(s<=0 || b <=0)
return
0;
60
else
return
(s*b+s+b+1)/(s+b+2)/(s+b+2);
61
}
62
63
Rtypes.h
GiniIndexWithLaplace.h
TMVA::GiniIndexWithLaplace
Definition:
GiniIndexWithLaplace.h:61
ClassImp
#define ClassImp(name)
Definition:
Rtypes.h:279
Double_t
double Double_t
Definition:
RtypesCore.h:55
TMVA
Abstract ClassifierFactory template that handles arbitrary types.
Definition:
GeneticMinimizer.h:21
b
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
Definition:
TRolke.cxx:630