diff --git a/dependencies/RapidLib b/dependencies/RapidLib index 5e0190d65d2204ad2fae48a5120b8c2191c7d106..86749bf38c0c050dd1c1ccb62c3d3654db4ac66b 160000 --- a/dependencies/RapidLib +++ b/dependencies/RapidLib @@ -1 +1 @@ -Subproject commit 5e0190d65d2204ad2fae48a5120b8c2191c7d106 +Subproject commit 86749bf38c0c050dd1c1ccb62c3d3654db4ac66b diff --git a/src/machineLearning/machineLearning.cpp b/src/machineLearning/machineLearning.cpp index 7f5219d1faf2be063367620447e582229376de22..13e7458bef536bcc2429b176d790196aa8fe3eab 100644 --- a/src/machineLearning/machineLearning.cpp +++ b/src/machineLearning/machineLearning.cpp @@ -19,11 +19,11 @@ namespace rapidmix { /////////////////////////////////////////////////////////////////////// RapidLib specializations - void trainingData2rapidLib (const trainingData &newTrainingData, std::vector<trainingExample<double> > &trainingSet) { + void trainingData2rapidLib (const trainingData &newTrainingData, std::vector<trainingExample> &trainingSet) { for (int h = 0; h < newTrainingData.trainingSet.size(); ++h) { //Go through every phrase for (int i = 0; i < newTrainingData.trainingSet[h].elements.size(); ++i) { //...and every element - trainingExample<double> tempExample; + trainingExample tempExample; tempExample.input = newTrainingData.trainingSet[h].elements[i].input; if (newTrainingData.trainingSet[h].elements[i].output.size() > 0) { tempExample.output = newTrainingData.trainingSet[h].elements[i].output; @@ -37,8 +37,8 @@ namespace rapidmix { /////////////////////////////////////////////////////////////////////// RapidLib classification template<> - bool machineLearning<classification<double>>::train(const trainingData &newTrainingData) { - std::vector<trainingExample<double> > trainingSet; + bool machineLearning<classification>::train(const trainingData &newTrainingData) { + std::vector<trainingExample> trainingSet; labels.clear(); for (int i = 0; i < newTrainingData.trainingSet.size(); ++i) { labels.push_back(newTrainingData.trainingSet[i].label); @@ -49,18 +49,18 @@ namespace rapidmix { /////////////////////////////////////////////////////////////////////// RapidLib regression template<> - bool machineLearning<regression<double> >::train(const trainingData &newTrainingData) { - std::vector<trainingExample<double> > trainingSet; + bool machineLearning<regression>::train(const trainingData &newTrainingData) { + std::vector<trainingExample> trainingSet; trainingData2rapidLib(newTrainingData, trainingSet); return regression::train(trainingSet); } /////////////////////////////////////////////////////////////////////// RapidLib seriesClassification template<> - bool machineLearning<seriesClassification<double> >::train(const trainingData &newTrainingData) { - std::vector<trainingSeries<double> > seriesSet; + bool machineLearning<seriesClassification>::train(const trainingData &newTrainingData) { + std::vector<trainingSeries> seriesSet; for (int i = 0; i < newTrainingData.trainingSet.size(); ++i) { //each phrase - trainingSeries<double> tempSeries; + trainingSeries tempSeries; tempSeries.label = newTrainingData.trainingSet[i].label; for (int j = 0; j < newTrainingData.trainingSet[i].elements.size(); ++j) { //each element tempSeries.input.push_back(newTrainingData.trainingSet[i].elements[j].input); @@ -71,13 +71,13 @@ namespace rapidmix { } template<> - std::string machineLearning<classification<double> >::run(const std::vector<double> &inputVector, const std::string &label) { + std::string machineLearning<classification>::run(const std::vector<double> &inputVector, const std::string &label) { int classIndex = classification::run(inputVector)[0]; return labels[classIndex]; }; template<> - std::string machineLearning<seriesClassification<double> >::run(const std::vector<std::vector<double> > &inputSeries) { + std::string machineLearning<seriesClassification>::run(const std::vector<std::vector<double> > &inputSeries) { return seriesClassification::run(inputSeries); } diff --git a/src/machineLearning/machineLearning.h b/src/machineLearning/machineLearning.h index 85875e174249102a454ee95cbe15edc58caaaf0e..0e4530ff3bff75dd6b92c5e27e6ba8763bd3011d 100644 --- a/src/machineLearning/machineLearning.h +++ b/src/machineLearning/machineLearning.h @@ -79,13 +79,13 @@ namespace rapidmix { ///// RapidLib /** @brief static classification using KNN from RapidLib */ - typedef machineLearning<classification<double> > staticClassification; + typedef machineLearning<classification> staticClassification; /** @brief static regression using Neural Networks from RapidLib */ - typedef machineLearning<regression<double> > staticRegression; + typedef machineLearning<regression> staticRegression; /** @brief temporal classification using Dynamic Time Warping from RapidLib */ - typedef machineLearning<seriesClassification<double> > dtwTemporalClassification; + typedef machineLearning<seriesClassification> dtwTemporalClassification; ///// XMM