9 #ifndef PND_LVQ_TRAIN_H 10 #define PND_LVQ_TRAIN_H 21 #define DEBUG_LVQ_TRAIN 0 43 explicit PndLVQTrain(std::vector<std::pair<std::string, std::vector<float> *>>
const &InputEvtsParam, std::vector<std::string>
const &ClassNames,
44 std::vector<std::string>
const &VarNames,
bool trim =
false);
51 explicit PndLVQTrain(std::string
const &InPut, std::vector<std::string>
const &ClassNames, std::vector<std::string>
const &VarNames,
bool trim =
true);
94 inline void SetLearnPrameters(
double const initConst,
double const etZ,
double const etF,
unsigned int const Nswp);
146 #if DEBUG_LVQ_TRAIN == 1 147 inline std::vector<std::pair<std::string, std::vector<float> *>>
const &train1sec()
153 inline std::vector<std::pair<std::string, std::vector<float> *>>
const &train2sec()
166 float EvalClassifierError(std::vector<std::pair<std::string, std::vector<float> *>>
const &TestEvts)
const;
185 void InitProtoRand();
191 void InitRandProtoFromData();
196 void InitProtoK_Means();
201 void InitProtoTypes();
206 void cleanProtoList();
211 void UpdateProto(std::vector<float>
const &EvtData, std::vector<float> &proto,
int const delta,
double const ethaT);
219 void ValidateProtoUpdate(std::vector<float> &p);
225 void ReadProtoFromFile();
229 std::vector<std::pair<std::string, std::vector<float> *>> m_LVQProtos;
232 std::vector<PndMvaDistObj> m_distances;
244 unsigned int m_NumSweep;
250 std::string m_initProtoFile;
253 unsigned int m_ErrorStep;
254 unsigned int m_ProgStep;
257 std::map<std::string, size_t> m_numProtoPerClass;
267 m_proto_init = iniTypeVal;
272 m_initProtoFile = fileName;
277 m_initConst = initConst;
290 m_WindowSize = Wsize;
302 #endif // End of interface definition void SetPerEpochEval(bool val)
bool GetPerEpochEval() const
ProtoInitType
How to initialize LVQ code books.
void SetLVQ2_1WindowSize(float const Wsize=0.3)
void EvalClassifierError()
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)
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)
void SetNumberOfProto(size_t const numProto)
void SetInitProtoFileName(std::string const &fileName)
void SetErrorStepSize(unsigned int const val=1000)