SHOGUN  v1.1.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
MultidimensionalScaling.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or modify
3  * it under the terms of the GNU General Public License as published by
4  * the Free Software Foundation; either version 3 of the License, or
5  * (at your option) any later version.
6  *
7  * Written (W) 2011 Sergey Lisitsyn
8  * Copyright (C) 2011 Berlin Institute of Technology and Max-Planck-Society
9  */
10 
11 #ifndef MULTIDIMENSIONALSCALING_H_
12 #define MULTIDIMENSIONALSCALING_H_
13 #include <shogun/lib/config.h>
14 #ifdef HAVE_LAPACK
18 
19 namespace shogun
20 {
21 
22 class CFeatures;
23 class CDistance;
24 
60 {
61 public:
62 
63  /* constructor */
65 
66  /* destructor */
67  virtual ~CMultidimensionalScaling();
68 
74 
80  virtual CFeatures* apply(CFeatures* features);
81 
83  const char* get_name() const;
84 
89 
95  void set_landmark_number(int32_t num);
96 
100  int32_t get_landmark_number() const;
101 
105  void set_landmark(bool landmark);
106 
110  bool get_landmark() const;
111 
113 protected:
114 
116  virtual void init();
117 
123 
129 
135 
137 protected:
138 
141 
144 
147 
149 protected:
150 
154  static void* run_triangulation_thread(void* p);
155 
162  static SGVector<int32_t> shuffle(int32_t count, int32_t total_count);
163 
164 };
165 
166 }
167 #endif /* HAVE_LAPACK */
168 #endif /* MULTIDIMENSIONALSCALING_H_ */
static SGVector< int32_t > shuffle(int32_t count, int32_t total_count)
Class Distance, a base class for all the distances used in the Shogun toolbox.
Definition: Distance.h:77
class EmbeddingConverter used to create embeddings of features, e.g. construct dense numeric embeddin...
static void * run_triangulation_thread(void *p)
STATIC.
virtual SGMatrix< float64_t > process_distance_matrix(SGMatrix< float64_t > distance_matrix)
SGMatrix< float64_t > landmark_embedding(SGMatrix< float64_t > distance_matrix)
SGMatrix< float64_t > classic_embedding(SGMatrix< float64_t > distance_matrix)
the class Multidimensionalscaling is used to perform multidimensional scaling (capable of landmark ap...
virtual CSimpleFeatures< float64_t > * embed_distance(CDistance *distance)
virtual CFeatures * apply(CFeatures *features)
SGVector< float64_t > get_eigenvalues() const
The class Features is the base class of all feature objects.
Definition: Features.h:56
SGVector< float64_t > m_eigenvalues
FIELDS.

SHOGUN Machine Learning Toolbox - Documentation