RapidLib  v0.1.2
A simple library for interactive machine learning
modelSet.h
Go to the documentation of this file.
1 #ifndef modelSet_h
2 #define modelSet_h
3 
4 #include <vector>
5 #include "trainingExample.h"
6 #include "baseModel.h"
7 #include "neuralNetwork.h"
8 #include "knnClassification.h"
9 #ifndef EMSCRIPTEN
10 #include "json.h"
11 #endif
12 
15 class modelSet {
16 public:
17  modelSet();
18  virtual ~modelSet();
20  virtual bool train(const std::vector<trainingExample> &trainingSet);
22  bool initialize();
24  std::vector<double> process(const std::vector<double> &inputVector);
25 
26 protected:
27  std::vector<baseModel*> myModelSet;
28  int numInputs;
29  std::vector<std::string> inputNames;
31  bool created;
32 
33 #ifndef EMSCRIPTEN //The javascript code will do its own JSON parsing
34 public:
36  std::string getJSON();
38  void writeJSON(const std::string &filepath);
40  bool putJSON(const std::string &jsonMessage);
42  bool readJSON(const std::string &filepath);
43 
44 private:
45  Json::Value parse2json();
46  void json2modelSet(const Json::Value &root);
47 
48 #endif
49 };
50 
51 #endif
bool initialize()
Definition: modelSet.cpp:52
Definition: modelSet.h:15
std::vector< std::string > inputNames
Definition: modelSet.h:29
modelSet()
Definition: modelSet.cpp:14
virtual bool train(const std::vector< trainingExample > &trainingSet)
Definition: modelSet.cpp:27
int numInputs
Definition: modelSet.h:28
bool created
Definition: modelSet.h:31
std::vector< double > process(const std::vector< double > &inputVector)
Definition: modelSet.cpp:62
bool readJSON(const std::string &filepath)
Definition: modelSet.cpp:208
std::string getJSON()
Definition: modelSet.cpp:111
std::vector< baseModel * > myModelSet
Definition: modelSet.h:27
int numOutputs
Definition: modelSet.h:30
void writeJSON(const std::string &filepath)
Definition: modelSet.cpp:116
bool putJSON(const std::string &jsonMessage)
Definition: modelSet.cpp:126
virtual ~modelSet()
Definition: modelSet.cpp:21