RapidLib  v2.2.0
A simple library for interactive machine learning
classification.h
Go to the documentation of this file.
1 //
2 // classification.h
3 // RapidLib
4 //
5 // Created by mzed on 26/09/2016.
6 // Copyright © 2016 Goldsmiths. All rights reserved.
7 //
8 
9 #ifndef CLASSIFICATION_H
10 #define CLASSIFICATION_H
11 
12 #include <vector>
13 #include "modelSet.h"
14 
21 template<typename T>
22 class classificationTemplate final : public modelSet<T>
23 {
24 public:
25  enum classificationTypes { knn, svm };
26 
32 
37  classificationTemplate(classificationTypes classificationType);
38 
40  classificationTemplate(const std::vector<trainingExampleTemplate<T> > &trainingSet);
41 
43  classificationTemplate(const int &numInputs, const int &numOutputs);
44 
47 
53  bool train(const std::vector<trainingExampleTemplate<T> > &trainingSet) override;
54 
60  std::vector<int> getK();
61 
68  void setK(const int whichModel, const int newK);
69 
70 private:
71  classificationTypes classificationType;
72 };
73 
74 namespace rapidLib
75 {
76  //This is here so that the old API still works as expected.
79 }
80 
81 #endif
Definition: classification.h:23
~classificationTemplate()
Definition: classification.h:46
classificationTemplate()
Definition: classification.cpp:17
std::vector< int > getK()
Definition: classification.cpp:119
classificationTypes
Definition: classification.h:25
@ svm
Definition: classification.h:25
@ knn
Definition: classification.h:25
void setK(const int whichModel, const int newK)
Definition: classification.cpp:131
bool train(const std::vector< trainingExampleTemplate< T > > &trainingSet) override
Definition: classification.cpp:64
Definition: modelSet.h:24
int numOutputs
Definition: modelSet.h:46
int numInputs
Definition: modelSet.h:44
Definition: classification.h:75
Definition: trainingExample.h:19