9 #ifndef PND_LVQ_TRAIN_H
10 #define PND_LVQ_TRAIN_H
21 #define DEBUG_LVQ_TRAIN 0
45 explicit PndLVQTrain(std::vector< std::pair<std::string, std::vector<float>* > >
const& InputEvtsParam,
46 std::vector<std::string>
const& ClassNames,
47 std::vector<std::string>
const& VarNames,
56 std::vector<std::string>
const& ClassNames,
57 std::vector<std::string>
const& VarNames,
102 double const etF,
unsigned int const Nswp);
154 #if DEBUG_LVQ_TRAIN == 1
155 inline std::vector< std::pair<std::string, std::vector<float>*> >
const& train1sec()
161 inline std::vector< std::pair<std::string, std::vector<float>*> >
const& train2sec()
174 float EvalClassifierError(std::vector< std::pair< std::string, std::vector<float>* > >
const& TestEvts)
const;
219 void UpdateProto(std::vector<float>
const& EvtData,
220 std::vector<float>& proto,
221 int const delta,
double const ethaT);
239 std::vector< std::pair<std::string, std::vector<float>*> >
m_LVQProtos;
286 double const etF,
unsigned int const Nswp)
313 #endif// End of interface definition
void SetPerEpochEval(bool val)
Double_t val[nBoxes][nFEBox]
PndLVQTrain & operator=(PndLVQTrain const &other)
std::string m_initProtoFile
initial protypes, when reading from file.
unsigned int m_ErrorStep
Each #ErrorStep, steps evaluate the trained classifier.
PndLVQTrain(std::vector< std::pair< std::string, std::vector< float > * > > const &InputEvtsParam, std::vector< std::string > const &ClassNames, std::vector< std::string > const &VarNames, bool trim=false)
ProtoInitType m_proto_init
Proto init type.
void ValidateProtoUpdate(std::vector< float > &p)
ProtoInitType
How to initialize LVQ code books.
void SetLVQ2_1WindowSize(float const Wsize=0.3)
void EvalClassifierError()
unsigned int m_NumSweep
Number of sweeps through example set.
void UpdateProto(std::vector< float > const &EvtData, std::vector< float > &proto, int const delta, double const ethaT)
Interface definition for LVQ trainers.
void SetLearnPrameters(double const initConst, double const etZ, double const etF, unsigned int const Nswp)
void setProtoInitType(ProtoInitType iniTypeVal=RAND_FROM_DATA)
bool m_PerEpoch
If evaluate per epoch.
void SetNumberOfProto(size_t const numProto)
void SetInitProtoFileName(std::string const &fileName)
void SetErrorStepSize(unsigned int const val=1000)
std::map< std::string, size_t > m_numProtoPerClass
Map labels (classes) to number of prototypes.
void InitRandProtoFromData()
std::vector< std::pair< std::string, std::vector< float > * > > m_LVQProtos
Holds the LVQ proto-types.
std::vector< PndMvaDistObj > m_distances
Container to store distances.
bool GetPerEpochEval() const