locally_linear_embedding
- sklearn.manifold.locally_linear_embedding(X, *, n_neighbors, n_components, reg=0.001, eigen_solver='auto', tol=1e-06, max_iter=100, method='standard', hessian_tol=0.0001, modified_tol=1e-12, random_state=None, n_jobs=None)[исходный код]
-
Выполняет анализ методом локально-линейного вложения данных.
Подробнее см. в руководстве пользователя.
- Параметры:
-
- X{array-like, NearestNeighbors}
-
Выборочные данные, форма = (n_samples, n_features), в виде массива numpy или объекта NearestNeighbors.
- n_neighborsint
-
Количество соседей, учитываемых для каждой точки.
- n_componentsint
-
Количество координат многообразия.
- regfloat, default=1e-3
-
Константа регуляризации, умножаемая на след локальной ковариационной матрицы расстояний.
- eigen_solver{‘auto’, ‘arpack’, ‘dense’}, default=’auto’
-
auto : алгоритм попытается выбрать наилучший метод для входных данных
- arpackиспользовать итерации Арнольди в режиме сдвига-инверсии.
-
Для этого метода M может быть плотной матрицей, разреженной матрицей или общим линейным оператором. Предупреждение: ARPACK может быть нестабильным для некоторых задач. Рекомендуется попробовать несколько случайных начальных значений, чтобы проверить результаты.
- denseиспользовать стандартные операции с плотными матрицами для разложения
-
собственных значений. Для этого метода M должен иметь тип массива или матрицы. Этого метода следует избегать для больших задач.
- tolfloat, default=1e-6
-
Допуск для метода ‘arpack’. Не используется, если eigen_solver==’dense’.
- max_iterint, default=100
-
Максимальное количество итераций для решателя arpack.
- method{‘standard’, ‘hessian’, ‘modified’, ‘ltsa’}, default=’standard’
-
- standardиспользовать стандартный алгоритм локально-линейного вложения.
-
см. источник [1]
- hessianиспользовать метод собственных отображений Гессиана. Для этого метода требуется
-
n_neighbors > n_components * (1 + (n_components + 1) / 2. см. источник [2]
- modifiedиспользовать модифицированный алгоритм локально-линейного вложения.
-
см. источник [3]
- ltsaиспользовать алгоритм выравнивания локальных касательных пространств
-
см. источник [4]
- hessian_tolfloat, default=1e-4
-
Допуск для метода собственных отображений Гессиана. Используется только при method == ‘hessian’.
- modified_tolfloat, default=1e-12
-
Допуск для модифицированного метода LLE. Используется только при method == ‘modified’.
- random_stateint, RandomState instance, default=None
-
Определяет генератор случайных чисел, когда
solver== ‘arpack’. Передайте целое число, чтобы получать воспроизводимые результаты при нескольких вызовах функции. См. глоссарий. - n_jobsint or None, default=None
-
Количество параллельных заданий для поиска соседей.
Noneозначает 1, если только не используется контекстjoblib.parallel_backend.-1означает использование всех процессоров. Подробнее см. глоссарий.
- Возвращает:
-
- Yndarray of shape (n_samples, n_components)
-
Векторы вложения.
- squared_errorfloat
-
Ошибка реконструкции векторов вложения. Эквивалентна
norm(Y - W Y, 'fro')**2, где W — веса реконструкции.
Литература
[1]Roweis, S. & Saul, L. Нелинейное снижение размерности методом локально-линейного вложения. Science 290:2323 (2000).
[2]Donoho, D. & Grimes, C. Собственные отображения Гессиана: методы локально-линейного вложения для данных высокой размерности. Proc Natl Acad Sci U S A. 100:5591 (2003).
[3][4]Zhang, Z. & Zha, H. Главные многообразия и нелинейное снижение размерности посредством выравнивания касательных пространств. Journal of Shanghai Univ. 8:406 (2004)
Примеры
>>> from sklearn.datasets import load_digits >>> from sklearn.manifold import locally_linear_embedding >>> X, _ = load_digits(return_X_y=True) >>> X.shape (1797, 64) >>> embedding, _ = locally_linear_embedding(X[:100],n_neighbors=5, n_components=2) >>> embedding.shape (100, 2)
Примеры в галерее
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.manifold.locally_linear_embedding.html