Advertisement
Guest User

Untitled

a guest
May 26th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. void Validation::crossvalidation(vector< vector < pair <int, pair<int, int> > > >&y) // output, dobar, modifikovan
  2. {
  3. int lenY = y.size();
  4.  
  5. for (int k = 0; k < n; k++)
  6. {
  7. vector< vector < pair<int, int> > > test;
  8. test.clear();
  9. vector< vector < pair<int, int> > > training;
  10. training.clear();
  11. for (int i = 0; i < lenY; i++)
  12. {
  13. if (i % lenY == k)
  14. {
  15. vector< pair<int, int > > ret;
  16. ret.clear();
  17. int len = y[i].size();
  18. for (int l = 0; l < len; l++)
  19. {
  20. pair<int, int> x; // output, tag
  21. x.first = y[i][l].first;
  22. x.second = y[i][l].second.first;
  23. ret.push_back(x);
  24. }
  25. test.push_back(ret);
  26. }
  27. else
  28. {
  29. vector< pair<int, int > > ret;
  30. ret.clear();
  31. int len = y[i].size();
  32. for (int l = 0; l < len; l++)
  33. {
  34. pair<int, int> x; // output, tag
  35. x.first = y[i][l].first;
  36. x.second = y[i][l].second.second;
  37. ret.push_back(x);
  38. }
  39. training.push_back(ret);
  40. }
  41. }
  42.  
  43. HMM *obj = new HMM();
  44. int iter = MAX_ITER;
  45. double tolerance = MAX_TOL;
  46. obj -> baumwelch(training, iter, tolerance);
  47.  
  48. for (int i = 0; i < m; i++)
  49. {
  50. vector<int> x = obj -> viterbi(test[i]);
  51.  
  52. int len = test[i].size();
  53. vector<int> testi;
  54. testi.clear();
  55. for (int l = 0; l < len; l++)
  56. {
  57. testi.push_back(test[m][l].first);
  58. }
  59.  
  60. updateErrors(testi, x);
  61. }
  62.  
  63. delete obj;
  64. }
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement