Logo ROOT   6.12/07
Reference Guide
CrossEntropy.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 : CrossEntropy *
8  * Web : http://tmva.sourceforge.net *
9  * *
10  * Description: Implementation of the CrossEntropy as separation criterion *
11  * *
12  * Authors (alphabetical): *
13  * Andreas Hoecker <Andreas.Hocker@cern.ch> - CERN, Switzerland *
14  * Helge Voss <Helge.Voss@cern.ch> - MPI-K Heidelberg, Germany *
15  * Kai Voss <Kai.Voss@cern.ch> - U. of Victoria, Canada *
16  * *
17  * Copyright (c) 2005: *
18  * CERN, Switzerland *
19  * U. of Victoria, Canada *
20  * Heidelberg U., Germany *
21  * *
22  * Redistribution and use in source and binary forms, with or without *
23  * modification, are permitted according to the terms listed in LICENSE *
24  * (http://tmva.sourceforge.net/LICENSE) *
25  **********************************************************************************/
26 
27 #ifndef ROOT_TMVA_CrossEntropy
28 #define ROOT_TMVA_CrossEntropy
29 
30 //////////////////////////////////////////////////////////////////////////
31 // //
32 // CrossEntropy //
33 // //
34 // Implementation of the CrossEntropy as separation criterion //
35 // -p log (p) - (1-p)log(1-p); p=purity = s/(s+b) //
36 // //
37 //////////////////////////////////////////////////////////////////////////
38 
39 #include "TMVA/SeparationBase.h"
40 
41 namespace TMVA {
42 
43  class CrossEntropy : public SeparationBase {
44 
45  public:
46 
47  // default constructor
49 
50  // copy constructor
52 
53  // destructor
54  virtual ~CrossEntropy(){}
55 
56  // return the separation Index -p log (p) - (1-p)log(1-p); p=purity = s/(s+b)
57  virtual Double_t GetSeparationIndex( const Double_t s, const Double_t b );
58 
59  protected:
60 
61  ClassDef(CrossEntropy,0); // Implementation of the CrossEntropy as separation criterion
62  };
63 
64 } // namespace TMVA
65 
66 #endif
67 
virtual ~CrossEntropy()
Definition: CrossEntropy.h:54
Implementation of the CrossEntropy as separation criterion.
Definition: CrossEntropy.h:43
#define ClassDef(name, id)
Definition: Rtypes.h:320
An interface to calculate the "SeparationGain" for different separation criteria used in various trai...
double Double_t
Definition: RtypesCore.h:55
CrossEntropy(const CrossEntropy &g)
Definition: CrossEntropy.h:51
static constexpr double s
Abstract ClassifierFactory template that handles arbitrary types.
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
virtual Double_t GetSeparationIndex(const Double_t s, const Double_t b)
Cross Entropy defined as:
static constexpr double g