Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Validation::crossvalidation(vector< vector < pair <int, pair<int, int> > > >&y) // output, dobar, modifikovan
- {
- int lenY = y.size();
- for (int k = 0; k < n; k++)
- {
- vector< vector < pair<int, int> > > test;
- test.clear();
- vector< vector < pair<int, int> > > training;
- training.clear();
- for (int i = 0; i < lenY; i++)
- {
- if (i % lenY == k)
- {
- vector< pair<int, int > > ret;
- ret.clear();
- int len = y[i].size();
- for (int l = 0; l < len; l++)
- {
- pair<int, int> x; // output, tag
- x.first = y[i][l].first;
- x.second = y[i][l].second.first;
- ret.push_back(x);
- }
- test.push_back(ret);
- }
- else
- {
- vector< pair<int, int > > ret;
- ret.clear();
- int len = y[i].size();
- for (int l = 0; l < len; l++)
- {
- pair<int, int> x; // output, tag
- x.first = y[i][l].first;
- x.second = y[i][l].second.second;
- ret.push_back(x);
- }
- training.push_back(ret);
- }
- }
- HMM *obj = new HMM();
- int iter = MAX_ITER;
- double tolerance = MAX_TOL;
- obj -> baumwelch(training, iter, tolerance);
- for (int i = 0; i < m; i++)
- {
- vector<int> x = obj -> viterbi(test[i]);
- int len = test[i].size();
- vector<int> testi;
- testi.clear();
- for (int l = 0; l < len; l++)
- {
- testi.push_back(test[m][l].first);
- }
- updateErrors(testi, x);
- }
- delete obj;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement