Discretizer from faif.
#include <iostream> #include <sstream> #include <string> #include <boost/serialization/nvp.hpp> #include <boost/archive/text_oarchive.hpp> #include <boost/archive/text_iarchive.hpp> #include <faif/timeseries/Discretizer.hpp> using namespace std; using namespace faif; using namespace faif::timeseries; int main() { const double TAB[] = { 0.0, 0.0, 0.0, 0.0, 0.0, 40.0, 50.0, 60.0, 100.0 }; const int TAB_SIZE = sizeof(TAB) / sizeof(TAB[0]); std::vector<double> v(TAB, TAB + TAB_SIZE); /** two sections: <0.0, 31.25) and <31.25, 100) */ Discretizer<double> s = createKMeansSections(v.begin(), v.end(), 2 ) ; ostringstream oss; boost::archive::text_oarchive oa(oss); oa << s; Discretizer<double> s2; std::istringstream iss(oss.str()); boost::archive::text_iarchive ia(iss); ia >> s2; std::cout << (s2.discretize(0.0) == 0 ) << (s2.discretize(31.0) == 0 ) << (s2.discretize(32.0) == 1 ) << (s2.discretize(200.0) == 1 ) << std::endl; return 0; }return to the main page