21 #ifndef PND_LVQ_TRAIN_H 22 #define PND_LVQ_TRAIN_H 33 #define DEBUG_LVQ_TRAIN 0 55 explicit PndLVQTrain(std::vector<std::pair<std::string, std::vector<float> *>>
const &InputEvtsParam, std::vector<std::string>
const &ClassNames,
56 std::vector<std::string>
const &VarNames,
bool trim =
false);
63 explicit PndLVQTrain(std::string
const &InPut, std::vector<std::string>
const &ClassNames, std::vector<std::string>
const &VarNames,
bool trim =
true);
106 inline void SetLearnPrameters(
double const initConst,
double const etZ,
double const etF,
unsigned int const Nswp);
158 #if DEBUG_LVQ_TRAIN == 1 159 inline std::vector<std::pair<std::string, std::vector<float> *>>
const &train1sec()
165 inline std::vector<std::pair<std::string, std::vector<float> *>>
const &train2sec()
178 float EvalClassifierError(std::vector<std::pair<std::string, std::vector<float> *>>
const &TestEvts)
const;
197 void InitProtoRand();
203 void InitRandProtoFromData();
208 void InitProtoK_Means();
213 void InitProtoTypes();
218 void cleanProtoList();
223 void UpdateProto(std::vector<float>
const &EvtData, std::vector<float> &proto,
int const delta,
double const ethaT);
231 void ValidateProtoUpdate(std::vector<float> &p);
237 void ReadProtoFromFile();
241 std::vector<std::pair<std::string, std::vector<float> *>> m_LVQProtos;
244 std::vector<PndMvaDistObj> m_distances;
256 unsigned int m_NumSweep;
262 std::string m_initProtoFile;
265 unsigned int m_ErrorStep;
266 unsigned int m_ProgStep;
269 std::map<std::string, size_t> m_numProtoPerClass;
279 m_proto_init = iniTypeVal;
284 m_initProtoFile = fileName;
289 m_initConst = initConst;
302 m_WindowSize = Wsize;
314 #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)