Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TMVA::kNN::ModulekNN Class Reference

Definition at line 103 of file ModulekNN.h.

Public Types

typedef std::map< int, std::vector< Double_t > > VarMap
 

Public Member Functions

 ModulekNN ()
 default constructor
 
 ~ModulekNN ()
 destructor
 
void Add (const Event &event)
 add an event to tree
 
void Clear ()
 clean up
 
Bool_t Fill (const UShort_t odepth, UInt_t ifrac, const std::string &option="")
 fill the tree
 
Bool_t Find (Event event, UInt_t nfind=100, const std::string &option="count") const
 find in tree if tree has been filled then search for nfind closest events if metic (fVarScale map) is computed then rescale event variables using previously computed width of variable distribution
 
Bool_t Find (UInt_t nfind, const std::string &option) const
 find in tree
 
const EventVec & GetEventVec () const
 
const EventGetkNNEvent () const
 
const List & GetkNNList () const
 
const std::map< Int_t, Double_t > & GetMetric () const
 
const VarMapGetVarMap () const
 
void Print () const
 print
 
void Print (std::ostream &os) const
 print
 

Private Member Functions

void ComputeMetric (UInt_t ifrac)
 compute scale factor for each variable (dimension) so that distance is computed uniformly along each dimension compute width of interval that includes (100 - 2*ifrac)% of events below, assume that in fVar each vector of values is sorted
 
MsgLoggerLog () const
 message logger
 
Node< Event > * Optimize (UInt_t optimize_depth)
 Optimize() balances binary tree for first odepth levels for each depth we split sorted depth % dimension variables into \( 2^{odepth} \) parts.
 
const Event Scale (const Event &event) const
 scale each event variable so that rms of variables is approximately 1.0 this allows comparisons of variables with distinct scales and units
 

Static Private Member Functions

static TRandom3GetRndmThreadLocal ()
 

Private Attributes

std::map< Short_t, UInt_tfCount
 
UInt_t fDimn
 
EventVec fEvent
 
Event fkNNEvent
 
List fkNNList
 
MsgLoggerfLogger
 
Node< Event > * fTree
 
VarMap fVar
 
std::map< Int_t, Double_tfVarScale
 

#include <TMVA/ModulekNN.h>

Member Typedef Documentation

◆ VarMap

typedef std::map<int, std::vector<Double_t> > TMVA::kNN::ModulekNN::VarMap

Definition at line 107 of file ModulekNN.h.

Constructor & Destructor Documentation

◆ ModulekNN()

TMVA::kNN::ModulekNN::ModulekNN ( )

default constructor

Definition at line 173 of file ModulekNN.cxx.

◆ ~ModulekNN()

TMVA::kNN::ModulekNN::~ModulekNN ( )

destructor

Definition at line 183 of file ModulekNN.cxx.

Member Function Documentation

◆ Add()

void TMVA::kNN::ModulekNN::Add ( const Event event)

add an event to tree

Definition at line 212 of file ModulekNN.cxx.

◆ Clear()

void TMVA::kNN::ModulekNN::Clear ( )

clean up

Definition at line 194 of file ModulekNN.cxx.

◆ ComputeMetric()

void TMVA::kNN::ModulekNN::ComputeMetric ( UInt_t  ifrac)
private

compute scale factor for each variable (dimension) so that distance is computed uniformly along each dimension compute width of interval that includes (100 - 2*ifrac)% of events below, assume that in fVar each vector of values is sorted

Definition at line 542 of file ModulekNN.cxx.

◆ Fill()

Bool_t TMVA::kNN::ModulekNN::Fill ( const UShort_t  odepth,
UInt_t  ifrac,
const std::string &  option = "" 
)

fill the tree

Definition at line 245 of file ModulekNN.cxx.

◆ Find() [1/2]

Bool_t TMVA::kNN::ModulekNN::Find ( Event  event,
UInt_t  nfind = 100,
const std::string &  option = "count" 
) const

find in tree if tree has been filled then search for nfind closest events if metic (fVarScale map) is computed then rescale event variables using previously computed width of variable distribution

Definition at line 348 of file ModulekNN.cxx.

◆ Find() [2/2]

Bool_t TMVA::kNN::ModulekNN::Find ( UInt_t  nfind,
const std::string &  option 
) const

find in tree

Definition at line 393 of file ModulekNN.cxx.

◆ GetEventVec()

const EventVec & TMVA::kNN::ModulekNN::GetEventVec ( ) const
inline

Definition at line 212 of file ModulekNN.h.

◆ GetkNNEvent()

const Event & TMVA::kNN::ModulekNN::GetkNNEvent ( ) const
inline

Definition at line 208 of file ModulekNN.h.

◆ GetkNNList()

const List & TMVA::kNN::ModulekNN::GetkNNList ( ) const
inline

Definition at line 204 of file ModulekNN.h.

◆ GetMetric()

const std::map< Int_t, Double_t > & TMVA::kNN::ModulekNN::GetMetric ( ) const
inline

Definition at line 220 of file ModulekNN.h.

◆ GetRndmThreadLocal()

static TRandom3 & TMVA::kNN::ModulekNN::GetRndmThreadLocal ( )
inlinestaticprivate

Definition at line 147 of file ModulekNN.h.

◆ GetVarMap()

const ModulekNN::VarMap & TMVA::kNN::ModulekNN::GetVarMap ( ) const
inline

Definition at line 216 of file ModulekNN.h.

◆ Log()

MsgLogger & TMVA::kNN::ModulekNN::Log ( ) const
inlineprivate

message logger

Definition at line 164 of file ModulekNN.h.

◆ Optimize()

TMVA::kNN::Node< TMVA::kNN::Event > * TMVA::kNN::ModulekNN::Optimize ( UInt_t  optimize_depth)
private

Optimize() balances binary tree for first odepth levels for each depth we split sorted depth % dimension variables into \( 2^{odepth} \) parts.

Definition at line 449 of file ModulekNN.cxx.

◆ Print() [1/2]

void TMVA::kNN::ModulekNN::Print ( ) const

print

Definition at line 662 of file ModulekNN.cxx.

◆ Print() [2/2]

void TMVA::kNN::ModulekNN::Print ( std::ostream &  os) const

print

Definition at line 670 of file ModulekNN.cxx.

◆ Scale()

const TMVA::kNN::Event TMVA::kNN::ModulekNN::Scale ( const Event event) const
private

scale each event variable so that rms of variables is approximately 1.0 this allows comparisons of variables with distinct scales and units

Definition at line 628 of file ModulekNN.cxx.

Member Data Documentation

◆ fCount

std::map<Short_t, UInt_t> TMVA::kNN::ModulekNN::fCount
private

Definition at line 158 of file ModulekNN.h.

◆ fDimn

UInt_t TMVA::kNN::ModulekNN::fDimn
private

Definition at line 149 of file ModulekNN.h.

◆ fEvent

EventVec TMVA::kNN::ModulekNN::fEvent
private

Definition at line 160 of file ModulekNN.h.

◆ fkNNEvent

Event TMVA::kNN::ModulekNN::fkNNEvent
mutableprivate

Definition at line 156 of file ModulekNN.h.

◆ fkNNList

List TMVA::kNN::ModulekNN::fkNNList
mutableprivate

Definition at line 155 of file ModulekNN.h.

◆ fLogger

MsgLogger* TMVA::kNN::ModulekNN::fLogger
mutableprivate

Definition at line 163 of file ModulekNN.h.

◆ fTree

Node<Event>* TMVA::kNN::ModulekNN::fTree
private

Definition at line 151 of file ModulekNN.h.

◆ fVar

VarMap TMVA::kNN::ModulekNN::fVar
private

Definition at line 161 of file ModulekNN.h.

◆ fVarScale

std::map<Int_t, Double_t> TMVA::kNN::ModulekNN::fVarScale
private

Definition at line 153 of file ModulekNN.h.

Libraries for TMVA::kNN::ModulekNN:

The documentation for this class was generated from the following files: