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.
Definition at line 47 of file Isomap.h.

Public Member Functions | |
| CIsomap () | |
| virtual | ~CIsomap () |
| virtual bool | init (CFeatures *features) |
| virtual void | cleanup () |
| virtual CSimpleFeatures < float64_t > * | apply_to_distance (CDistance *distance) |
| virtual SGMatrix< float64_t > | apply_to_feature_matrix (CFeatures *features) |
| virtual SGVector< float64_t > | apply_to_feature_vector (SGVector< float64_t > vector) |
| virtual const char * | get_name () const |
| virtual EPreprocessorType | get_type () const |
| void | set_k (int32_t k) |
| int32_t | get_k () |
Protected Member Functions | |
| void | init () |
| SGMatrix< float64_t > | isomap_distance (SGMatrix< float64_t > D_matrix) |
Static Protected Member Functions | |
| static void * | run_dijkstra_thread (void *p) |
Protected Attributes | |
| int32_t | m_k |
| CIsomap | ( | ) |
Definition at line 57 of file Isomap.cpp.
| ~CIsomap | ( | ) | [virtual] |
Definition at line 69 of file Isomap.cpp.
| CSimpleFeatures< float64_t > * apply_to_distance | ( | CDistance * | distance | ) | [virtual] |
apply preprocessor to CDistance
| distance | distance |
Reimplemented from CMultidimensionalScaling.
Definition at line 82 of file Isomap.cpp.
apply preprocessor to features
| features |
Reimplemented from CMultidimensionalScaling.
Definition at line 100 of file Isomap.cpp.
apply preprocessor to feature vector
| vector |
Reimplemented from CMultidimensionalScaling.
Definition at line 130 of file Isomap.cpp.
| void cleanup | ( | ) | [virtual] |
empty cleanup
Reimplemented from CMultidimensionalScaling.
Definition at line 78 of file Isomap.cpp.
| virtual const char* get_name | ( | void | ) | const [virtual] |
| virtual EPreprocessorType get_type | ( | ) | const [virtual] |
| bool init | ( | CFeatures * | features | ) | [virtual] |
empty init
| features |
Reimplemented from CMultidimensionalScaling.
Definition at line 73 of file Isomap.cpp.
| void init | ( | void | ) | [protected] |
approximate geodesic distance with shortest path in kNN graph
| D_matrix | distance matrix (deleted on exit) |
Definition at line 136 of file Isomap.cpp.
| void * run_dijkstra_thread | ( | void * | p | ) | [static, protected] |
| void set_k | ( | int32_t | k | ) |
int32_t m_k [protected] |