SHOGUN
v1.1.0
|
the class Isomap used to preprocess data using K-Isomap algorithm as described in
Silva, V. D., & Tenenbaum, J. B. (2003). Global versus local methods in nonlinear dimensionality reduction. Advances in Neural Information Processing Systems 15, 15(Figure 2), 721-728. MIT Press. Retrieved from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.9.3407&rep=rep1&type=pdf
Shortest paths are being computed with Dijkstra's algorithm with heap in parallel. Due to sparsity of the kNN graph Fibonacci Heap with amortized O(1) Extract-Min operation time complexity is used.
It is possible to apply preprocessor to specified distance using apply_to_distance.
Public Member Functions | |
CIsomap () | |
virtual | ~CIsomap () |
const char * | get_name () const |
void | set_k (int32_t k) |
int32_t | get_k () const |
![]() | |
CMultidimensionalScaling () | |
virtual | ~CMultidimensionalScaling () |
virtual CSimpleFeatures < float64_t > * | embed_distance (CDistance *distance) |
virtual CFeatures * | apply (CFeatures *features) |
SGVector< float64_t > | get_eigenvalues () const |
void | set_landmark_number (int32_t num) |
int32_t | get_landmark_number () const |
void | set_landmark (bool landmark) |
bool | get_landmark () const |
![]() | |
CEmbeddingConverter () | |
virtual | ~CEmbeddingConverter () |
virtual CSimpleFeatures < float64_t > * | embed (CFeatures *features) |
void | set_target_dim (int32_t dim) |
int32_t | get_target_dim () const |
void | set_distance (CDistance *distance) |
CDistance * | get_distance () const |
void | set_kernel (CKernel *kernel) |
CKernel * | get_kernel () const |
![]() | |
CConverter () | |
virtual | ~CConverter () |
![]() | |
CSGObject () | |
CSGObject (const CSGObject &orig) | |
virtual | ~CSGObject () |
virtual bool | is_generic (EPrimitiveType *generic) const |
template<class T > | |
void | set_generic () |
void | unset_generic () |
virtual void | print_serializable (const char *prefix="") |
virtual bool | save_serializable (CSerializableFile *file, const char *prefix="") |
virtual bool | load_serializable (CSerializableFile *file, const char *prefix="") |
void | set_global_io (SGIO *io) |
SGIO * | get_global_io () |
void | set_global_parallel (Parallel *parallel) |
Parallel * | get_global_parallel () |
void | set_global_version (Version *version) |
Version * | get_global_version () |
SGVector< char * > | get_modelsel_names () |
char * | get_modsel_param_descr (const char *param_name) |
index_t | get_modsel_param_index (const char *param_name) |
Protected Member Functions | |
virtual void | init () |
HELPERS. | |
virtual SGMatrix< float64_t > | process_distance_matrix (SGMatrix< float64_t > distance_matrix) |
SGMatrix< float64_t > | isomap_distance (SGMatrix< float64_t > D_matrix) |
![]() | |
SGMatrix< float64_t > | classic_embedding (SGMatrix< float64_t > distance_matrix) |
SGMatrix< float64_t > | landmark_embedding (SGMatrix< float64_t > distance_matrix) |
Static Protected Member Functions | |
static void * | run_dijkstra_thread (void *p) |
THREADS. | |
![]() | |
static void * | run_triangulation_thread (void *p) |
STATIC. | |
static SGVector< int32_t > | shuffle (int32_t count, int32_t total_count) |
Protected Attributes | |
int32_t | m_k |
FIELDS. | |
![]() | |
SGVector< float64_t > | m_eigenvalues |
FIELDS. | |
bool | m_landmark |
int32_t | m_landmark_number |
![]() | |
int32_t | m_target_dim |
CDistance * | m_distance |
CKernel * | m_kernel |
Additional Inherited Members | |
![]() | |
SGIO * | io |
Parallel * | parallel |
Version * | version |
Parameter * | m_parameters |
Parameter * | m_model_selection_parameters |
CIsomap | ( | ) |
Definition at line 56 of file Isomap.cpp.
|
virtual |
Definition at line 68 of file Isomap.cpp.
int32_t get_k | ( | ) | const |
|
virtual |
|
protectedvirtual |
HELPERS.
default init
Reimplemented from CMultidimensionalScaling.
Definition at line 63 of file Isomap.cpp.
approximate geodesic distance with shortest path in kNN graph
D_matrix | distance matrix (deleted on exit) |
Definition at line 93 of file Isomap.cpp.
|
protectedvirtual |
process distance matrix (redefined in isomap, for mds does nothing)
distance_matrix | distance matrix |
Reimplemented from CMultidimensionalScaling.
Definition at line 88 of file Isomap.cpp.
|
staticprotected |
void set_k | ( | int32_t | k | ) |
|
protected |