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) 2011-2013 Sergey Lisitsyn 00008 * Copyright (C) 2011-2013 Berlin Institute of Technology and Max-Planck-Society 00009 */ 00010 00011 #ifndef ISOMAP_H_ 00012 #define ISOMAP_H_ 00013 #include <shogun/lib/config.h> 00014 #ifdef HAVE_EIGEN3 00015 #include <shogun/converter/MultidimensionalScaling.h> 00016 #include <shogun/io/SGIO.h> 00017 #include <shogun/features/DenseFeatures.h> 00018 #include <shogun/features/Features.h> 00019 #include <shogun/distance/Distance.h> 00020 00021 namespace shogun 00022 { 00023 00024 class CFeatures; 00025 class CDistance; 00026 00044 class CIsomap: public CMultidimensionalScaling 00045 { 00046 public: 00047 00048 /* constructor */ 00049 CIsomap(); 00050 00051 /* destructor */ 00052 virtual ~CIsomap(); 00053 00055 const char* get_name() const; 00056 00060 void set_k(int32_t k); 00061 00065 int32_t get_k() const; 00066 00068 virtual CDenseFeatures<float64_t>* embed_distance(CDistance* distance); 00069 00071 protected: 00072 00074 virtual void init(); 00075 00077 protected: 00078 00080 int32_t m_k; 00081 00082 }; 00083 } 00084 #endif /* HAVE_EIGEN3 */ 00085 #endif /* ISOMAP_H_ */