SpectralEmbedding
- classsklearn.manifold.SpectralEmbedding(n_components=2, *, affinity='nearest_neighbors', gamma=None, random_state=None, eigen_solver=None, eigen_tol='auto', n_neighbors=None, n_jobs=None)[исходный код]
-
Спектральное вложение для нелинейного снижения размерности.
Формирует матрицу близости с помощью указанной функции и применяет спектральное разложение к соответствующему лапласиану графа. Результирующее преобразование задаётся значениями собственных векторов для каждой точки данных.
Примечание: здесь реализован фактический алгоритм Laplacian Eigenmaps.
Подробнее см. в руководстве пользователя.
- Параметры:
-
- n_componentsint, по умолчанию=2
-
Размерность проецируемого подпространства.
- affinity{‘nearest_neighbors’, ‘rbf’, ‘precomputed’, ‘precomputed_nearest_neighbors’} или вызываемый объект, по умолчанию=’nearest_neighbors’
-
- Способ построения матрицы близости.
-
- ‘nearest_neighbors’ : построить матрицу близости, вычислив граф ближайших соседей.
- ‘rbf’ : построить матрицу близости, вычислив ядро радиальной базисной функции (RBF).
- ‘precomputed’ : интерпретировать
Xкак предварительно вычисленную матрицу близости. - ‘precomputed_nearest_neighbors’ : интерпретировать
Xкак разреженный граф предварительно вычисленных ближайших соседей и построить матрицу близости, выбравn_neighborsближайших соседей. - вызываемый объект : использовать переданную функцию в качестве функции близости; функция принимает матрицу данных (n_samples, n_features) и возвращает матрицу близости (n_samples, n_samples).
- gammafloat, по умолчанию=None
-
Коэффициент ядра для ядра rbf. Если None, gamma будет равен 1/n_features.
- random_stateint, экземпляр RandomState или None, по умолчанию=None
-
Генератор псевдослучайных чисел, используемый для инициализации разложения собственных векторов методом lobpcg при
eigen_solver == 'amg', а также для инициализации K-Means. Укажите int, чтобы результаты были детерминированными при повторных вызовах (см. глоссарий).Примечание
При использовании
eigen_solver == 'amg'для получения детерминированных результатов также необходимо задать глобальное начальное значение numpy с помощьюnp.random.seed(int). Дополнительную информацию см. в pyamg/pyamg#139. - eigen_solver{‘arpack’, ‘lobpcg’, ‘amg’}, по умолчанию=None
-
Стратегия разложения на собственные значения. Для AMG необходимо установить pyamg. Этот метод может быть быстрее для очень больших разреженных задач. Если значение None, используется
'arpack'. - eigen_tolfloat, по умолчанию=”auto”
-
Критерий остановки разложения матрицы Лапласа на собственные значения. Если
eigen_tol="auto", передаваемый допуск будет зависеть отeigen_solver:- Если
eigen_solver="arpack", тоeigen_tol=0.0; - Если
eigen_solver="lobpcg"илиeigen_solver="amg", тоeigen_tol=None, который настраивает используемый решательlobpcgдля автоматического определения значения согласно его эвристикам. Подробности см. вscipy.sparse.linalg.lobpcg.
Обратите внимание, что при использовании
eigen_solver="lobpcg"илиeigen_solver="amg"значенияtol<1e-5могут привести к проблемам со сходимостью, поэтому их следует избегать.Добавлено в версии 1.2.
- Если
- n_neighborsint, по умолчанию=None
-
Количество ближайших соседей для построения графа nearest_neighbors. Если None, n_neighbors будет равно max(n_samples/10, 1).
- n_jobsint, по умолчанию=None
-
Количество параллельных заданий.
Noneозначает 1, если только не используется контекстjoblib.parallel_backend.-1означает использование всех процессоров. Подробнее см. в глоссарии.
- Атрибуты:
-
- embedding_ndarray формы (n_samples, n_components)
-
Спектральное вложение обучающей матрицы.
- affinity_matrix_ndarray формы (n_samples, n_samples)
-
Матрица близости, построенная по образцам или предварительно вычисленная.
- n_features_in_int
-
Количество признаков, обнаруженных при вызове fit.
Добавлено в версии 0.24.
-
feature_names_in_ndarray формы (
n_features_in_,) -
Названия признаков, обнаруженные при вызове fit. Определён только в том случае, если
Xимеет названия признаков, все из которых являются строками.Добавлено в версии 1.0.
- n_neighbors_int
-
Фактически использованное количество ближайших соседей.
См. также
Isomap-
Нелинейное снижение размерности с помощью изометрического отображения.
Литература
- Введение в спектральную кластеризацию, 2007, Ульрике фон Люксбург
- О спектральной кластеризации: анализ и алгоритм, 2001, Эндрю Я. Нг, Майкл И. Джордан, Яир Вайс
- Нормализованные разрезы и сегментация изображений, 2000, Цзяньбо Ши, Джитендра Малик
Примеры
>>> from sklearn.datasets import load_digits >>> from sklearn.manifold import SpectralEmbedding >>> X, _ = load_digits(return_X_y=True) >>> X.shape (1797, 64) >>> embedding = SpectralEmbedding(n_components=2) >>> X_transformed = embedding.fit_transform(X[:100]) >>> X_transformed.shape (100, 2)
- fit(X, y=None)[исходный код]
-
Обучить модель на данных X.
- Параметры:
-
- X{подобный массиву объект, разреженная матрица} формы (n_samples, n_features)
-
Обучающий вектор, где
n_samples— количество образцов, аn_features— количество признаков.Если affinity имеет значение “precomputed”, X : {подобный массиву объект, разреженная матрица} формы (n_samples, n_samples). Интерпретировать X как предварительно вычисленный граф смежности, рассчитанный по образцам.
- yИгнорируется
-
Не используется; присутствует для согласованности API по соглашению.
- Возвращает:
-
- selfобъект
-
Возвращает сам экземпляр.
- fit_transform(X, y=None)[исходный код]
-
Обучить модель на данных X и преобразовать X.
- Параметры:
-
- X{подобный массиву объект, разреженная матрица} формы (n_samples, n_features)
-
Обучающий вектор, где
n_samples— количество образцов, аn_features— количество признаков.Если affinity имеет значение “precomputed”, X : {подобный массиву объект, разреженная матрица} формы (n_samples, n_samples). Интерпретировать X как предварительно вычисленный граф смежности, рассчитанный по образцам.
- yИгнорируется
-
Не используется; присутствует для согласованности API по соглашению.
- Возвращает:
-
- X_newобъект, подобный массиву, формы (n_samples, n_components)
-
Спектральное вложение обучающей матрицы.
- get_metadata_routing()[исходный код]
-
Получить маршрутизацию метаданных этого объекта.
Описание работы механизма маршрутизации см. в руководстве пользователя.
- Возвращает:
-
- routingMetadataRequest
-
Объект
MetadataRequest, содержащий сведения о маршрутизации.
- get_params(deep=True)[исходный код]
-
Получить параметры этого оценщика.
- Параметры:
-
- deepbool, по умолчанию=True
-
Если True, будут возвращены параметры этого оценщика и содержащихся в нём подобъектов, являющихся оценщиками.
- Возвращает:
-
- paramsdict
-
Имена параметров, сопоставленные их значениям.
- set_params(**params)[исходный код]
-
Задать параметры этого оценщика.
Метод работает как с простыми оценщиками, так и с вложенными объектами (например,
Pipeline). Параметры последних имеют вид<component>__<parameter>, что позволяет обновлять каждый компонент вложенного объекта.- Параметры:
-
- **paramsdict
-
Параметры оценщика.
- Возвращает:
-
- selfэкземпляр оценщика
-
Экземпляр оценщика.
Примеры из галереи
© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.manifold.SpectralEmbedding.html