00001 #define __cplusplus__
00002 #ifndef __DATA__
00003 #define __DATA__
00004
00005 #include<iostream>
00006 #include<istream>
00007 #include<fstream>
00008 #include<string>
00009 #include<vector>
00010 #include<sstream>
00011 #include <cmath>
00012
00013 using namespace std;
00014
00026 class Data{
00027
00029 uint NbPts;
00031 uint Dim ;
00033 vector<double> X;
00035 vector<uint> labels;
00036
00037 public :
00038
00040 Data();
00042 Data(uint nbp, uint nbv);
00044 ~Data();
00045
00046
00047
00049 uint Get_N();
00051 uint Get_D();
00052
00054 void Get(uint i, vector<double> & obs );
00056 double Get(uint i, uint d);
00057
00059 uint GetLabel(uint i);
00061 void GetLabels(vector<uint> & labs);
00062
00063
00065 void Set(uint i, vector<double> const & obs );
00067 void SetLabel(uint i, uint lab );
00068
00069
00070
00072 void ReadFromFile(string filename);
00074 void ReadFromFile(string filename, uint dim);
00076 void WriteToFile(string filename);
00077
00079 void Stats(vector<double> & mean, vector<double> & cov);
00080
00082 void K_means(uint K, vector<double> & centers, vector<uint> & labels);
00083
00085 void Info();
00086
00087 };
00088
00089 #endif