SHOGUN  v3.2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
ManifoldSculpting.h
Go to the documentation of this file.
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) 2013 Vladyslav S. Gorbatiuk
00008  * Copyright (C) 2011-2013 Vladyslav S. Gorbatiuk
00009  */
00010 
00011 #ifndef MANIFOLDSCULPTING_H_
00012 #define MANIFOLDSCULPTING_H_
00013 #include <shogun/lib/config.h>
00014 #ifdef HAVE_EIGEN3
00015 #include <shogun/converter/EmbeddingConverter.h>
00016 #include <shogun/features/Features.h>
00017 
00018 namespace shogun
00019 {
00020 
00027 class CManifoldSculpting : public CEmbeddingConverter
00028 {
00029 public:
00030 
00032     CManifoldSculpting();
00033 
00035     virtual ~CManifoldSculpting();
00036 
00038     virtual const char* get_name() const;
00039 
00044     virtual CFeatures* apply(CFeatures* features);
00045 
00050     void set_k(const int32_t k);
00051 
00056     int32_t get_k() const;
00057 
00062     void set_squishing_rate(const float64_t squishing_rate);
00063 
00068     float64_t get_squishing_rate() const;
00069 
00074     void set_max_iteration(const int32_t max_iteration);
00075 
00080     int32_t get_max_iteration() const;
00081 
00082 private:
00083 
00085     void init();
00086 
00087 private:
00088 
00090     float64_t m_k;
00091 
00093     float64_t m_squishing_rate;
00094 
00098     float64_t m_max_iteration;
00099 
00100 }; /* class CManifoldSculpting */
00101 
00102 } /* namespace shogun */
00103 
00104 #endif /* HAVE_EIGEN3 */
00105 #endif /* MANIFOLDSCULPTING_H_ */
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

SHOGUN Machine Learning Toolbox - Documentation