Skip to main content

Isomap

Isometric mapping: a non-linear embedding that preserves geodesic (along-the-manifold) distances rather than straight-line ones.

Algorithm

Builds a k-nearest-neighbour graph, approximates geodesic distances by shortest paths through it, then applies classical MDS to the geodesic distance matrix.

Constructor

Skigen::Isomap<Scalar> model(int n_components = 2, int n_neighbors = 5);

Parameters

ParameterDefaultDescription
n_components2Embedding dimensionality.
n_neighbors5Neighbours per point in the graph.

Methods

MethodDescription
fit_transform(X)Compute and return the embedding.

Fitted Attributes

AccessorDescription
dist_matrix()Geodesic distance matrix.
reconstruction_error()Residual of the MDS fit.

Example

Skigen::Isomap<double> iso(2, 5);
auto Y = iso.fit_transform(X);
Verified against scikit-learn

This estimator is checked by the parity suite. See the generator tests/parity/generate_manifold_reference.py and the reference fixtures in tests/parity/data/isomap/, exercised by tests/parity/parity_manifold.cpp.

API Reference

For full signatures see the Isomap API Reference.