An S4 Class implementing Laplacian Eigenmaps
Details
Laplacian Eigenmaps use a kernel and were originally developed to separate non-convex clusters under the name spectral clustering.
Slots
fun
A function that does the embedding and returns a dimRedResult object.
stdpars
The standard parameters for the function.
General usage
Dimensionality reduction methods are S4 Classes that either be used
directly, in which case they have to be initialized and a full
list with parameters has to be handed to the @fun()
slot, or the method name be passed to the embed function and
parameters can be given to the ...
, in which case
missing parameters will be replaced by the ones in the
@stdpars
.
Parameters
LaplacianEigenmaps
can take the following parameters:
- ndim
the number of output dimensions.
- sparse
A character vector specifying hot to make the graph sparse,
"knn"
means that a K-nearest neighbor graph is constructed,"eps"
an epsilon neighborhood graph is constructed, else a dense distance matrix is used.- knn
The number of nearest neighbors to use for the knn graph.
- eps
The distance for the epsilon neighborhood graph.
- t
Parameter for the transformation of the distance matrix by \(w=exp(-d^2/t)\), larger values give less weight to differences in distance,
t == Inf
treats all distances != 0 equally.- norm
logical, should the normed laplacian be used?
Implementation
Wraps around spec.emb
.
References
Belkin, M., Niyogi, P., 2003. Laplacian Eigenmaps for Dimensionality Reduction and Data Representation. Neural Computation 15, 1373.
Examples
if(requireNamespace(c("loe", "RSpectra", "Matrix"), quietly = TRUE)) {
dat <- loadDataSet("3D S Curve")
emb <- embed(dat, "LaplacianEigenmaps")
plot(emb@data@data)
}
#> 2023-03-21 13:05:26: Creating weight matrix
#> 2023-03-21 13:05:26: Eigenvalue decomposition
#> Eigenvalues: 1.039229e-02 2.605511e-03 -4.539080e-17
#> 2023-03-21 13:05:26: DONE