void readData() { //percorrendo list<double>::iterator it; for(int i = 0; i < mySeries.size(); i++) { cout <<"serie " << i<<endl; for(it = mySeries[i].begin(); it != mySeries[i].end(); it++) { cout << *it << " "; } cout << endl; } for(int i = 0; i < templateSeries.size(); i++) { cout <<"serie " << i<<endl; for(it = templateSeries[i].begin(); it != templateSeries[i].end(); it++) { cout << *it << " "; } cout << endl; } }
void DTW() { int myBestClass; double myMinDbl, myDbl; int totalHits, correctClass; list<double>::iterator it; totalHits = 0; //uncoment do get graph data //cout << " Error at: \n Serie number | Class Estimated | Correct Class " << endl; //series a serem testadas for(int k = 0; k < mySeries.size()-1; k++) { myMinDbl = INFINITY; //series templates for(int i = 0; i < templateSeries.size() -1; i++) { myDbl = calcDTW(k, i); if(myDbl < myMinDbl) { it = templateSeries[i].begin(); myBestClass = *it; myMinDbl = myDbl; } } it = mySeries[k].begin(); correctClass = *it; if(myBestClass == correctClass)totalHits++; // else cout << k << " " << myBestClass << " " << correctClass << endl; } cout <<"Total de Séries: "<< mySeries.size() -1 <<"\nacertos: " << totalHits <<" -> " << std::setprecision(5)<< (totalHits * 100.0)/(mySeries.size() -1) << "%" <<endl; }