RapidLib  v2.1.0
A simple library for interactive machine learning
seriesClassification.h
Go to the documentation of this file.
1 
10 #ifndef seriesClassification_hpp
11 #define seriesClassification_hpp
12 
13 #include <vector>
14 #include <string>
15 #include <map>
16 #include "fastDTW.h"
17 #include "trainingExample.h"
18 
24 template<typename T>
26 public:
27 
31 
35  bool train(const std::vector<trainingSeriesTemplate<T> > &seriesSet);
36 
38  void reset();
39 
44  std::string run(const std::vector<std::vector<T> > &inputSeries);
45 
51  T run(const std::vector<std::vector<T> > &inputSeries, std::string label);
52 
57  std::string runContinuous(const std::vector<T> &inputVector);
58 
62  std::vector<T> getCosts() const;
63 
67  int getMinLength() const;
68 
73  int getMinLength(std::string label) const;
74 
78  int getMaxLength() const;
79 
84  int getMaxLength(std::string label) const;
85 
87  template<typename TT>
88  struct minMax {
89  TT min;
90  TT max;
91  };
92 
97  minMax<T> calculateCosts(std::string label) const;
98 
104  minMax<T> calculateCosts(std::string label1, std::string label2) const;
105 
106 private:
107  std::vector<trainingSeriesTemplate<T> > allTrainingSeries;
108  int vectorLength;
109  std::vector<T> allCosts;
110  int maxLength;
111  int minLength;
112  std::map<std::string, minMax<int> > lengthsPerLabel;
113 
114  std::vector<std::vector<T> > seriesBuffer;
115  int hopSize;
116  int counter;
117 };
118 
119 //This is here to keep the old API working
122 
123 #endif
Definition: seriesClassification.h:25
std::string run(const std::vector< std::vector< T > > &inputSeries)
int getMinLength() const
Definition: seriesClassification.cpp:136
bool train(const std::vector< trainingSeriesTemplate< T > > &seriesSet)
Definition: seriesClassification.cpp:26
seriesClassificationTemplate()
Definition: seriesClassification.cpp:20
std::string runContinuous(const std::vector< T > &inputVector)
Definition: seriesClassification.cpp:118
Definition: trainingExample.h:29
std::vector< T > getCosts() const
Definition: seriesClassification.cpp:131
int getMaxLength() const
Definition: seriesClassification.cpp:151
TT min
Definition: seriesClassification.h:89
minMax< T > calculateCosts(std::string label) const
Definition: seriesClassification.cpp:166
Definition: seriesClassification.h:88
~seriesClassificationTemplate()
Definition: seriesClassification.cpp:23
void reset()
Definition: seriesClassification.cpp:71
TT max
Definition: seriesClassification.h:90