SHOGUN
v3.2.0
|
00001 /* 00002 * This program is free software; you can redistribute it and/or modify 00003 * it under the terms of the GNU General Public License as published by 00004 * the Free Software Foundation; either version 3 of the License, or 00005 * (at your option) any later version. 00006 * 00007 * Written (W) 2012 Heiko Strathmann 00008 */ 00009 00010 #ifndef __DATAGENERATOR_H_ 00011 #define __DATAGENERATOR_H_ 00012 #include <shogun/lib/config.h> 00013 #include <shogun/base/SGObject.h> 00014 #include <shogun/lib/SGMatrix.h> 00015 #include <shogun/labels/Labels.h> 00016 #include <shogun/labels/MulticlassLabels.h> 00017 00018 namespace shogun 00019 { 00020 00024 class CDataGenerator: public CSGObject 00025 { 00026 public: 00027 CDataGenerator(); 00028 00029 virtual ~CDataGenerator(); 00030 00042 static SGMatrix<float64_t> generate_checkboard_data(int32_t num_classes, 00043 int32_t dim, int32_t num_points, float64_t overlap); 00044 00058 static SGMatrix<float64_t> generate_mean_data(index_t m, index_t dim, 00059 float64_t mean_shift, 00060 SGMatrix<float64_t> target=SGMatrix<float64_t>()); 00061 00083 static SGMatrix<float64_t> generate_sym_mix_gauss(index_t m, 00084 float64_t d, float64_t angle, 00085 SGMatrix<float64_t> target=SGMatrix<float64_t>()); 00086 00087 #ifdef HAVE_LAPACK 00088 00098 static SGMatrix<float64_t> generate_gaussians(index_t m, index_t n, index_t dim); 00099 #endif /* HAVE_LAPACK */ 00100 00101 virtual const char* get_name() const { return "DataGenerator"; } 00102 00103 private: 00105 void init(); 00106 00107 }; 00108 00109 } 00110 00111 #endif /* __DATAGENERATOR_H_ */