mojolearn.LocallyLinearEmbedding#
- class mojolearn.LocallyLinearEmbedding(*, n_neighbors=5, n_components=2, reg=0.001, eigen_solver='auto', tol=1e-06, max_iter=100, method='standard', hessian_tol=0.0001, modified_tol=1e-12, neighbors_algorithm='auto', random_state=None, n_jobs=None, numeric_mode=None)[source]#
Bases:
_BaseLocally linear embedding.
Follows scikit-learn’s
LocallyLinearEmbedding: reconstructs each point from its Euclidean nearest neighbors and finds the low-dimensional embedding that best preserves those reconstruction weights. Supports the standard, LTSA, Hessian and modified variants.- Parameters:
n_neighbors (int, default 5) – Neighbors per point; must be less than
n_samples.n_components (int, default 2) – Embedding dimension.
reg (float, default 1e-3) – Regularization of the local weight solves.
eigen_solver ({“auto”, “dense”}, default “auto”) –
"dense"always runs the full exact solve."auto"withmethod="standard", more than 200 samples andn_components + 1 < 10uses an iterative solver for the smallest eigenvectors; otherwise it runs the full solve."arpack"raises NotImplementedError.tol (ignored)
max_iter (int, default 100) – Iteration limit of the iterative solver.
method ({“standard”, “ltsa”, “hessian”, “modified”}, default “standard”) – LLE variant.
"hessian"needsn_neighbors > n_components * (n_components + 3) / 2;"modified"needsn_neighbors >= n_components.hessian_tol (float, default 1e-4) – Tolerance for
method="hessian".modified_tol (float, default 1e-12) – Tolerance for
method="modified".neighbors_algorithm (ignored)
random_state (int or None, default None) – Seed of the iterative solver’s start; None means 0.
n_jobs (ignored)
numeric_mode ({“identical”, “fast”} or None, default None) – Numeric mode for this estimator. None uses the package default (
"identical"unless changed)."identical"gives the same bits on NVIDIA and AMD GPUs;"fast"applies on Apple GPUs.
- Variables:
- Raises:
ValueError – For an unknown
methodoreigen_solver, orn_neighborsout of range for the method.
Examples
>>> import numpy as np, mojolearn >>> X = np.random.default_rng(0).random((500, 8), dtype=np.float32) >>> Y = mojolearn.LocallyLinearEmbedding(n_neighbors=10, n_components=2).fit_transform(X)
- __init__(*, n_neighbors=5, n_components=2, reg=0.001, eigen_solver='auto', tol=1e-06, max_iter=100, method='standard', hessian_tol=0.0001, modified_tol=1e-12, neighbors_algorithm='auto', random_state=None, n_jobs=None, numeric_mode=None)[source]#
Methods
fit(X[, y])Compute the embedding of X.
fit_transform(X[, y])Compute the embedding and return
embedding_.get_params([deep])Return this estimator's constructor parameters.
set_params(**params)Set constructor parameters by keyword.
transform(X)Embed new points.
- fit(X, y=None)[source]#
Compute the embedding of X.
- Parameters:
X (array-like of shape (n_samples, n_features))
y (ignored)
- Returns:
self