RapidLib  v2.2.0
A simple library for interactive machine learning
classification.h
Go to the documentation of this file.
1 
10 #ifndef CLASSIFICATION_H
11 #define CLASSIFICATION_H
12 
13 #include <vector>
14 #include "modelSet.h"
15 
22 template<typename T>
23 class classificationTemplate final : public modelSet<T>
24 {
25 public:
26  enum classificationTypes { knn, svm };
27 
33 
38  classificationTemplate(classificationTypes classificationType);
39 
41  classificationTemplate(const std::vector<trainingExampleTemplate<T> > &trainingSet);
42 
44  classificationTemplate(const int &numInputs, const int &numOutputs);
45 
48 
54  bool train(const std::vector<trainingExampleTemplate<T> > &trainingSet) override;
55 
61  std::vector<int> getK();
62 
69  void setK(const int whichModel, const int newK);
70 
71 private:
72  classificationTypes classificationType;
73 };
74 
75 namespace rapidLib
76 {
77  //This is here so that the old API still works as expected.
80 }
81 
82 #endif
Definition: classification.h:24
~classificationTemplate()
Definition: classification.h:47
classificationTemplate()
Definition: classification.cpp:18
std::vector< int > getK()
Definition: classification.cpp:121
classificationTypes
Definition: classification.h:26
@ svm
Definition: classification.h:26
@ knn
Definition: classification.h:26
void setK(const int whichModel, const int newK)
Definition: classification.cpp:134
bool train(const std::vector< trainingExampleTemplate< T > > &trainingSet) override
Definition: classification.cpp:63
Definition: modelSet.h:26
int numOutputs
Definition: modelSet.h:48
int numInputs
Definition: modelSet.h:46
Definition: classification.h:76
Definition: trainingExample.h:19