ROOT logo
ROOT » TMVA » TMVA::GiniIndex

class TMVA::GiniIndex: public TMVA::SeparationBase


 Implementation of the GiniIndex as separation criterion


Function Members (Methods)

public:
virtual~GiniIndex()
static TClass*Class()
const TString&TMVA::SeparationBase::GetName()
Double_tTMVA::SeparationBase::GetSeparationGain(const Double_t& nSelS, const Double_t& nSelB, const Double_t& nTotS, const Double_t& nTotB)
virtual Double_tGetSeparationIndex(const Double_t& s, const Double_t& b)
TMVA::GiniIndexGiniIndex()
TMVA::GiniIndexGiniIndex(const TMVA::GiniIndex& g)
virtual TClass*IsA() const
TMVA::GiniIndex&operator=(const TMVA::GiniIndex&)
virtual voidShowMembers(TMemberInspector& insp)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)

Data Members

protected:
TStringTMVA::SeparationBase::fNamename of the concrete Separation Index impementation
Double_tTMVA::SeparationBase::fPrecisionCut

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

Double_t GetSeparationIndex(const Double_t& s, const Double_t& b)
     Gini(Sample M) = 1 - (c(1)/N)^2 - (c(2)/N)^2 .... - (c(k)/N)^2
     Where: M is a smaple of whatever N elements (events)
            that belong to K different classes
            c(k) is the number of elements that belong to class k
     for just Signal and Background classes this boils down to:
     Gini(Sample) = 2s*b/(s+b)^2    ( = 2 * purity * (1-purity) )

 !! what we use here is 2*Gini.. as for the later use the factor
    2 is irrelevant and hence I'd like to save this calculation
GiniIndex()
 construtor for the GiniIndex
{ fName="Gini"; }
GiniIndex(const TMVA::GiniIndex& g)
 copy constructor
{}
virtual ~GiniIndex()
destructor
{}