Spec-Zone.ru › scikit-learn

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экземпляр оценщика

Экземпляр оценщика.

Примеры из галереи

Различные варианты агломеративной кластеризации на двумерном вложении цифр

Сравнение методов обучения многообразий

Обучение многообразий на рукописных цифрах: локальное линейное вложение, Isomap…

Методы обучения многообразий на разрезанной сфере

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API