#pragma once #ifndef PNDPROJECTEDKNN_H #define PNDPROJECTEDKNN_H // C++ headers #include #include #include //#include // PANDA Headers #include "PndKnnClassify.h" class PndProjectedKNN{ //Public methods and vars public: // Constructor PndProjectedKNN(const char* InputPutFile, const std::vector& ClassNames, const std::vector& m_EvtStructure, const std::vector< std::vector >& VarCombinations); // Destructor virtual ~PndProjectedKNN(); // Classify void Classify(const std::vector &EvtData, const unsigned int Neighbours, std::map& result); // Set params inline void SetEvtParam(const float scFact, const double weight) {m_ScaleFact = scFact; m_weight = weight; }; //Init classifiers void InitKNN(); //============================================= //Protected methods and vars //protected: //============================================= //Private methods and vars private: // Private by design PndProjectedKNN(); void destroy(); std::string m_inputFile; std::vector m_ClassNames; std::vector m_EvtStructure; std::vector > m_VarCombs; // First = classifier, Second = parameter indices std::vector *> > m_Classifiers; float m_ScaleFact; double m_weight; }; #endif//End, class interface