Advertisement
Guest User

Untitled

a guest
Jul 7th, 2016
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.47 KB | None | 0 0
  1. #define BOOST_TEST_MODULE TimerTest
  2.  
  3. #include <sstream>
  4.  
  5. #include <mlpack/core.hpp>
  6. #include <mlpack/methods/pca/pca_type.hpp>
  7. #include <mlpack/methods/pca/decomposition_policies/exact_svd_method.hpp>
  8. #include <mlpack/methods/pca/decomposition_policies/iterative_svd_method.hpp>
  9.  
  10. #include <boost/test/included/unit_test.hpp>
  11. #include "old_boost_test_definitions.hpp"
  12.  
  13. #include <chrono>
  14.  
  15. using namespace mlpack;
  16. using namespace mlpack::data;
  17. using namespace std;
  18.  
  19. BOOST_AUTO_TEST_SUITE(ImputationTest);
  20.  
  21. BOOST_AUTO_TEST_CASE(DatasetMapperImputerTest)
  22. {        
  23.     pca::PCAType<pca::IterativePCAPolicy> pcaIter(false, pca::IterativePCAPolicy(1, 40));
  24.     arma::mat X = arma::randu<arma::mat>(2000,250);
  25.  
  26.     arma::mat transformedData;
  27.     arma::vec eigval;
  28.     arma::mat eigvec;    
  29.  
  30.     std::chrono::time_point<std::chrono::system_clock> start, end;
  31.     start = std::chrono::system_clock::now();
  32.     pcaIter.Apply(X, transformedData, eigval, eigvec);
  33.     end = std::chrono::system_clock::now();
  34.     std::cout<<"elapsed : "<<
  35.                std::chrono::duration_cast<std::chrono::microseconds>(end - start).count()<<std::endl;
  36.  
  37.     start = std::chrono::system_clock::now();
  38.     pca::PCA pcaExact;
  39.     pcaExact.Apply(X, transformedData, eigval, eigvec);
  40.     end = std::chrono::system_clock::now();
  41.     std::cout<<"elapsed : "<<
  42.                std::chrono::duration_cast<std::chrono::microseconds>(end - start).count()<<std::endl;
  43. }
  44.  
  45. BOOST_AUTO_TEST_SUITE_END();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement