public class LaplacianEigenmap
extends java.lang.Object
implements java.io.Serializable
The locality preserving character of the Laplacian Eigenmap algorithm makes it relatively insensitive to outliers and noise. It is also not prone to "short circuiting" as only the local distances are used.
Modifier and Type | Field and Description |
---|---|
double[][] |
coordinates
The coordinate matrix in embedding space.
|
smile.graph.AdjacencyList |
graph
Nearest neighbor graph.
|
int[] |
index
The original sample index.
|
double |
width
The width of heat kernel.
|
Constructor and Description |
---|
LaplacianEigenmap(double width,
int[] index,
double[][] coordinates,
smile.graph.AdjacencyList graph)
Constructor with Gaussian kernel.
|
LaplacianEigenmap(int[] index,
double[][] coordinates,
smile.graph.AdjacencyList graph)
Constructor with discrete weights.
|
Modifier and Type | Method and Description |
---|---|
static LaplacianEigenmap |
of(double[][] data,
int k)
Laplacian Eigenmaps with discrete weights.
|
static LaplacianEigenmap |
of(double[][] data,
int k,
int d,
double t)
Laplacian Eigenmap with Gaussian kernel.
|
static <T> LaplacianEigenmap |
of(T[] data,
smile.math.distance.Distance<T> distance,
int k)
Laplacian Eigenmaps with discrete weights.
|
static <T> LaplacianEigenmap |
of(T[] data,
smile.math.distance.Distance<T> distance,
int k,
int d,
double t)
Laplacian Eigenmap with Gaussian kernel.
|
public final double width
public final int[] index
public final double[][] coordinates
public final smile.graph.AdjacencyList graph
public LaplacianEigenmap(int[] index, double[][] coordinates, smile.graph.AdjacencyList graph)
index
- the original sample index.coordinates
- the coordinates.graph
- the nearest neighbor graph.public LaplacianEigenmap(double width, int[] index, double[][] coordinates, smile.graph.AdjacencyList graph)
width
- the width of heat kernel.index
- the original sample index.coordinates
- the coordinates.graph
- the nearest neighbor graph.public static LaplacianEigenmap of(double[][] data, int k)
data
- the input data.k
- k-nearest neighbor.public static LaplacianEigenmap of(double[][] data, int k, int d, double t)
data
- the input data.d
- the dimension of the manifold.k
- k-nearest neighbor.t
- the smooth/width parameter of heat kernel e-||x-y||2 / t.
Non-positive value means discrete weights.public static <T> LaplacianEigenmap of(T[] data, smile.math.distance.Distance<T> distance, int k)
data
- the input data.distance
- the distance measure.k
- k-nearest neighbor.public static <T> LaplacianEigenmap of(T[] data, smile.math.distance.Distance<T> distance, int k, int d, double t)
data
- the input data.distance
- the distance measure.k
- k-nearest neighbor.d
- the dimension of the manifold.t
- the smooth/width parameter of heat kernel e-||x-y||2 / t.
Non-positive value means discrete weights.