SpectralEmbedding#

класс sklearn.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'} или callable, default='nearest_neighbors'
Как построить матрицу сходства.
  • 'nearest_neighbors' : построить матрицу сходства, вычисляя граф ближайших соседей.

  • 'rbf' : построить матрицу сходства, вычисляя радиально-базисную функцию (RBF) ядра.

  • ‘precomputed’ : интерпретировать X в качестве предвычисленной матрицы сходства.

  • 'precomputed_nearest_neighbors' : интерпретировать X в виде разреженного графа предвычисленных ближайших соседей и строит матрицу сходства, выбирая n_neighbors ближайшие соседи.

  • callable : использовать переданную функцию как сходство функция принимает матрицу данных (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. Используйте целое число, чтобы результаты были детерминированными между вызовами (см. Глоссарий).

Примечание

При использовании eigen_solver == 'amg', необходимо также зафиксировать глобальное начальное значение numpy с помощью np.random.seed(int) для получения детерминированных результатов. См. pyamg/pyamg#139 для дополнительной информации.

eigen_solver{‘arpack’, ‘lobpcg’, ‘amg’}, default=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, default=None

Количество ближайших соседей для построения графа ближайших соседей. Если None, n_neighbors будет установлено в max(n_samples/10, 1).

n_jobsint, default=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

Нелинейное снижение размерности через изометрическое отображение.

Ссылки

Примеры

>>> 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{array-like, sparse matrix} формы (n_samples, n_features)

Вектор обучения, где n_samples это количество образцов и n_features это количество признаков.

Если affinity равен "precomputed", X: {array-like, sparse matrix}, форма (n_samples, n_samples), интерпретировать X как предвычисленный граф смежности, вычисленный из выборок.

yИгнорируется

Не используется, присутствует для согласованности API по соглашению.

Возвращает:
selfobject

Возвращает сам экземпляр.

fit_transform(X, y=None)[источник]#

Обучить модель на данных X и преобразовать X.

Параметры:
X{array-like, sparse matrix} формы (n_samples, n_features)

Вектор обучения, где n_samples это количество образцов и n_features это количество признаков.

Если affinity — "precomputed" X: {array-like, sparse matrix} формы (n_samples, n_samples), интерпретировать X как предвычисленный граф смежности, вычисленный из образцов.

yИгнорируется

Не используется, присутствует для согласованности API по соглашению.

Возвращает:
X_newarray-like формы (n_samples, n_components)

Спектральное вложение обучающей матрицы.

6332()[источник]#

Получить маршрутизацию метаданных этого объекта.

Пожалуйста, проверьте Руководство пользователя о том, как работает механизм маршрутизации.

Возвращает:
маршрутизацияMetadataRequest

A MetadataRequest Инкапсуляция информации о маршрутизации.

get_params(глубокий=True)[источник]#

Получить параметры для этого оценщика.

Параметры:
глубокийbool, по умолчанию=True

Если True, вернет параметры для этого оценщика и вложенных подобъектов, которые являются оценщиками.

Возвращает:
paramsdict

Имена параметров, сопоставленные с их значениями.

set_params(**params)[источник]#

Установить параметры этого оценщика.

Метод работает как на простых оценщиках, так и на вложенных объектах (таких как Pipeline). Последние имеют параметры вида __ чтобы можно было обновить каждый компонент вложенного объекта.

Параметры:
**paramsdict

Параметры оценщика.

Возвращает:
selfэкземпляр estimator

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