LocallyLinearEmbedding
- classsklearn.manifold.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)[исходный код]
-
Локальное линейное вложение.
Подробнее см. в Руководстве пользователя.
- Параметры:
-
- n_neighborsint, по умолчанию=5
-
Количество соседей, учитываемых для каждой точки.
- n_componentsint, по умолчанию=2
-
Количество координат многообразия.
- regfloat, по умолчанию=1e-3
-
Параметр регуляризации, умножающий след локальной ковариационной матрицы расстояний.
- eigen_solver{‘auto’, ‘arpack’, ‘dense’}, по умолчанию=’auto’
-
Решатель, используемый для вычисления собственных векторов. Доступны следующие варианты:
-
'auto': алгоритм попытается выбрать наилучший метод для входных данных. -
'arpack': использовать итерации Арнольди в режиме сдвига-инверсии. Для этого метода M может быть плотной матрицей, разреженной матрицей или общим линейным оператором. -
'dense': использовать стандартные операции с плотными матрицами для разложения по собственным значениям. Для этого метода M должен иметь тип массива или матрицы. Этого метода следует избегать для больших задач.
Предупреждение
ARPACK может работать нестабильно для некоторых задач. Рекомендуется попробовать несколько случайных начальных значений, чтобы проверить результаты.
-
- tolfloat, по умолчанию=1e-6
-
Допуск для метода ‘arpack’. Не используется, если eigen_solver==’dense’.
- max_iterint, по умолчанию=100
-
Максимальное количество итераций для решателя arpack. Не используется, если eigen_solver==’dense’.
- method{‘standard’, ‘hessian’, ‘modified’, ‘ltsa’}, по умолчанию=’standard’
-
-
standard: использовать стандартный алгоритм локального линейного вложения. См. ссылку [1] -
hessian: использовать метод гессиановых собственных отображений. Для этого метода требуетсяn_neighbors > n_components * (1 + (n_components + 1) / 2. См. ссылку [2] -
modified: использовать модифицированный алгоритм локального линейного вложения. См. ссылку [3] -
ltsa: использовать алгоритм выравнивания локального касательного пространства. См. ссылку [4]
-
- hessian_tolfloat, по умолчанию=1e-4
-
Допуск для метода гессиановых собственных отображений. Используется только, если
method == 'hessian'. - modified_tolfloat, по умолчанию=1e-12
-
Допуск для модифицированного метода LLE. Используется только, если
method == 'modified'. - neighbors_algorithm{‘auto’, ‘brute’, ‘kd_tree’, ‘ball_tree’}, по умолчанию=’auto’
-
Алгоритм поиска ближайших соседей, передаваемый экземпляру
NearestNeighbors. - random_stateint, экземпляр RandomState, по умолчанию=None
-
Определяет генератор случайных чисел, если
eigen_solver== ‘arpack’. Передайте целое число, чтобы получать воспроизводимые результаты при нескольких вызовах функции. См. глоссарий. - n_jobsint или None, по умолчанию=None
-
Количество параллельных заданий. Значение
Noneозначает 1, если только не используется контекстjoblib.parallel_backend. Значение-1означает использование всех процессоров. Подробнее см. глоссарий.
- Атрибуты:
-
- embedding_array-like, форма [n_samples, n_components]
-
Содержит векторы вложения
- reconstruction_error_float
-
Ошибка реконструкции, связанная с
embedding_ - n_features_in_int
-
Количество признаков, обнаруженных при вызове fit.
Добавлено в версии 0.24.
-
feature_names_in_ndarray формы (
n_features_in_,) -
Названия признаков, обнаруженные при вызове fit. Определяется только в том случае, если
Xсодержит названия признаков, представленные строками.Добавлено в версии 1.0.
- nbrs_объект NearestNeighbors
-
Содержит экземпляр поиска ближайших соседей, включая BallTree или KDtree, если применимо.
См. также
SpectralEmbedding-
Спектральное вложение для нелинейного снижения размерности.
TSNE-
Стохастическое вложение соседей с t-распределением.
Список литературы
[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 LocallyLinearEmbedding >>> X, _ = load_digits(return_X_y=True) >>> X.shape (1797, 64) >>> embedding = LocallyLinearEmbedding(n_components=2) >>> X_transformed = embedding.fit_transform(X[:100]) >>> X_transformed.shape (100, 2)
- fit(X, y=None)[исходный код]
-
Вычислить векторы вложения для данных X.
- Параметры:
-
- Xarray-like формы (n_samples, n_features)
-
Обучающая выборка.
- yИгнорируется
-
Не используется; присутствует здесь для соблюдения принятого единообразия API.
- Возвращает:
-
- selfобъект
-
Обученный экземпляр класса
LocallyLinearEmbedding.
- fit_transform(X, y=None)[исходный код]
-
Вычислить векторы вложения для данных X и преобразовать X.
- Параметры:
-
- Xarray-like формы (n_samples, n_features)
-
Обучающая выборка.
- yИгнорируется
-
Не используется; присутствует здесь для соблюдения принятого единообразия API.
- Возвращает:
-
- X_newarray-like, форма (n_samples, n_components)
-
Возвращает сам экземпляр.
- get_feature_names_out(input_features=None)[исходный код]
-
Получить названия выходных признаков для преобразования.
К названиям выходных признаков будет добавлено имя класса в нижнем регистре. Например, если преобразователь возвращает 3 признака, их названия будут следующими:
["class_name0", "class_name1", "class_name2"].- Параметры:
-
- input_featuresarray-like строк или None, по умолчанию=None
-
Используется только для проверки названий признаков на соответствие названиям, обнаруженным в
fit.
- Возвращает:
-
- feature_names_outndarray строковых объектов
-
Названия преобразованных признаков.
- get_metadata_routing()[исходный код]
-
Получить сведения о маршрутизации метаданных этого объекта.
О том, как работает механизм маршрутизации, см. в Руководстве пользователя.
- Возвращает:
-
- routingMetadataRequest
-
Объект
MetadataRequest, содержащий сведения о маршрутизации.
- get_params(deep=True)[исходный код]
-
Получить параметры этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, будут возвращены параметры этого оценщика и содержащихся в нём объектов, которые являются оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные с их значениями.
- set_output(*, transform=None)[исходный код]
-
Задать контейнер выходных данных.
Подробнее см. в руководстве пользователя, а пример использования API приведён в разделе Знакомство с API set_output.
- Параметры:
-
- transform{“default”, “pandas”, “polars”}, по умолчанию=None
-
Настроить формат вывода для
transformиfit_transform.-
"default": формат вывода преобразователя по умолчанию -
"pandas": вывод в виде DataFrame -
"polars": вывод в формате Polars -
None: конфигурация преобразования не меняется
Добавлено в версии 1.4: добавлен параметр
"polars". -
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- set_params(**params)[исходный код]
-
Задать параметры этого оценщика.
Метод работает как с простыми оценщиками, так и с вложенными объектами (например,
Pipeline). Параметры последних имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
- transform(X)[исходный код]
-
Преобразовать новые точки в пространство вложения.
- Параметры:
-
- Xarray-like формы (n_samples, n_features)
-
Обучающая выборка.
- Возвращает:
-
- X_newndarray формы (n_samples, n_components)
-
Возвращает сам экземпляр.
Примечания
Из-за масштабирования, выполняемого этим методом, не рекомендуется использовать его вместе с методами, инвариантными к масштабу (например, SVM).
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.manifold.LocallyLinearEmbedding.html