Package smile.manifold
Class LLE
java.lang.Object
smile.manifold.LLE
- All Implemented Interfaces:
Serializable
Locally Linear Embedding. It has several advantages over Isomap, including
faster optimization when implemented to take advantage of sparse matrix
algorithms, and better results with many problems. LLE also begins by
finding a set of the nearest neighbors of each point. It then computes
a set of weights for each point that best describe the point as a linear
combination of its neighbors. Finally, it uses an eigenvector-based
optimization technique to find the low-dimensional embedding of points,
such that each point is still described with the same linear combination
of its neighbors. LLE tends to handle non-uniform sample densities poorly
because there is no fixed unit to prevent the weights from drifting as
various regions differ in sample densities.
-
Field Summary
FieldsModifier and TypeFieldDescriptionfinal double[][]
The coordinate matrix in embedding space.smile.graph.AdjacencyList
Nearest neighbor graph.final int[]
The original sample index. -
Constructor Summary
ConstructorsConstructorDescriptionLLE
(int[] index, double[][] coordinates, smile.graph.AdjacencyList graph) Constructor. -
Method Summary
-
Field Details
-
index
public final int[] indexThe original sample index. -
coordinates
public final double[][] coordinatesThe coordinate matrix in embedding space. -
graph
public smile.graph.AdjacencyList graphNearest neighbor graph.
-
-
Constructor Details
-
LLE
public LLE(int[] index, double[][] coordinates, smile.graph.AdjacencyList graph) Constructor.- Parameters:
index
- the original sample index.coordinates
- the coordinates.graph
- the nearest neighbor graph.
-
-
Method Details
-
of
Runs the LLE algorithm.- Parameters:
data
- the input data.k
- k-nearest neighbor.- Returns:
- the model.
-
of
Runs the LLE algorithm.- Parameters:
data
- the input data.d
- the dimension of the manifold.k
- k-nearest neighbor.- Returns:
- the model.
-