Spec-Zone.ru › scikit-learn

MDS

classsklearn.manifold.MDS(n_components=2, *, metric=True, n_init=4, max_iter=300, verbose=0, eps=0.001, n_jobs=None, random_state=None, dissimilarity='euclidean', normalized_stress='auto')[source]

Многомерное шкалирование.

Подробнее см. в Руководстве пользователя.

Параметры:
n_componentsint, по умолчанию=2

Количество измерений, в которых необходимо погрузить несходства.

metricbool, по умолчанию=True

Если True, выполняется метрическое MDS; в противном случае выполняется неметрическое MDS. При False (т.е. неметрическое MDS), несходства с 0 считаются пропущенными значениями.

n_initint, по умолчанию=4

Количество раз, когда алгоритм SMACOF будет выполняться с различными начальными значениями. Конечные результаты будут лучшим результатом запусков, определяемым запуском с наименьшим конечным напряжением.

max_iterint, по умолчанию=300

Максимальное количество итераций алгоритма SMACOF для одного запуска.

verboseint, по умолчанию=0

Уровень детализации.

epsfloat, по умолчанию=1e-3

Относительная погрешность по отношению к напряжению, при которой следует объявлять сходимость. Значение eps следует настраивать отдельно в зависимости от того, используется ли normalized_stress.

n_jobsint, по умолчанию=None

Количество процессов для вычисления. Если используются несколько начальных значений (n_init), каждый запуск алгоритма вычисляется параллельно.

None означает 1, если не в контексте joblib.parallel_backend. -1 означает использование всех процессоров. Дополнительные сведения см. в Справочнике.

random_stateint, RandomState instance или None, по умолчанию=None

Определяет генератор случайных чисел, используемый для инициализации центров. Передайте целое число для воспроизводимых результатов при нескольких вызовах функции. См. Справочник.

dissimilarity{‘euclidean’, ‘precomputed’}, по умолчанию=’euclidean’

Метрика несходства для использования:

  • ‘euclidean’:

    Парные евклидовы расстояния между точками в наборе данных.

  • ‘precomputed’:

    Предварительно вычисленные несходства передаются непосредственно в fit и fit_transform.

normalized_stressbool or “auto” default=”auto”

Использовать и возвращать нормированное значение напряжения (напряжение-1) вместо исходного напряжения, вычисленного по умолчанию. Поддерживается только в неметрическом MDS.

Добавлен в версии 1.2.

Изменено в версии 1.4: Значение по умолчанию изменено с False на "auto" в версии 1.4.

Атрибуты:
embedding_массив формы (n_samples, n_components)

Содержит положение набора данных во вложенном пространстве.

stress_float

Конечное значение напряжения (сумма квадратов расстояний различий и расстояний для всех ограниченных точек). Если normalized_stress=True, и metric=False возвращает значение «Напряжение-1». Значение 0 указывает на «идеальное» соответствие, 0,025 — отличное, 0,05 — хорошее, 0,1 — удовлетворительное и 0,2 — плохое [1].

dissimilarity_matrix_массив формы (n_samples, n_samples)

Парные несходства между точками. Симметричная матрица, которая:

  • либо использует пользовательскую матрицу несходства, установив dissimilarity в ‘precomputed’;
  • либо строит матрицу несходства из данных, используя евклидовы расстояния.
n_features_in_int

Количество признаков, увиденных во время подгонки.

Добавлен в версии 0.24.

feature_names_in_массив формы (n_features_in_,)

Имена признаков, увиденные во время подгонки. Определены только тогда, когда X имеет имена признаков, которые все являются строками.

Добавлен в версии 1.0.

n_iter_int

Количество итераций, соответствующее наилучшему напряжению.

См. также

sklearn.decomposition.PCA

Анализ главных компонент, который является линейным методом уменьшения размерности.

sklearn.decomposition.KernelPCA

Нелинейное уменьшение размерности с использованием ядер и PCA.

TSNE

Вложение с распределением Т-распределения с шумовым соседом.

Isomap

Обучение измерению с помощью изометрической проекции.

LocallyLinearEmbedding

Обучение измерению с использованием локального линейного вложения.

SpectralEmbedding

Спектральное вложение для нелинейной размерности.

Ссылки

[1]

«Неметрическое многомерное шкалирование: численный метод» Крускал, Дж. Психометрика, 29 (1964)

[2]

«Многомерное шкалирование путем оптимизации соответствия неметрической гипотезе» Крускал, Дж. Психометрика, 29, (1964)

[3]

«Современное многомерное шкалирование — теория и приложения» Борг, И.; Гронен П. Springer Series in Statistics (1997)

Примеры

>>> from sklearn.datasets import load_digits
>>> from sklearn.manifold import MDS
>>> X, _ = load_digits(return_X_y=True)
>>> X.shape
(1797, 64)
>>> embedding = MDS(n_components=2, normalized_stress='auto')
>>> X_transformed = embedding.fit_transform(X[:100])
>>> X_transformed.shape
(100, 2)

Для более подробного примера использования см. Многомерное шкалирование.

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

fit(X, y=None, init=None)[source]

Вычислить положение точек во вложенном пространстве.

Параметры:
Xarray-like формы (n_samples, n_features) или (n_samples, n_samples)

Входные данные. Если dissimilarity=='precomputed', входные данные должны быть матрицей несходства.

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

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

initмассив формы (n_samples, n_components), по умолчанию=None

Начальная конфигурация вложения для инициализации алгоритма SMACOF. По умолчанию алгоритм инициализируется с помощью случайным образом выбранного массива.

Возвращает:
selfобъект

Обученный оценщик.

fit_transform(X, y=None, init=None)[source]

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

Параметры:
Xмассив-подобный объект формы (n_samples, n_features) или (n_samples, n_samples)

Входные данные. Если dissimilarity=='precomputed', входные данные должны быть матрицей расстояний.

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

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

initмассив формы (n_samples, n_components), по умолчанию None

Начальная конфигурация вложения для инициализации алгоритма SMACOF. По умолчанию алгоритм инициализируется случайным массивом.

Возвращает:
X_newмассив формы (n_samples, n_components)

Преобразованные X в новом пространстве.

get_metadata_routing()[source]

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

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

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

MetadataRequest, содержащий информацию о маршрутизации.

get_params(deep=True)[source]

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

Параметры:
deepbool, по умолчанию True

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

Возвращает:
paramsсловарь

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

set_fit_request(*, init:bool|None|str='$UNCHANGED$') → MDS[source]

Запрос метаданных, переданных в метод fit.

Обратите внимание, что этот метод актуален только если enable_metadata_routing=True (см. sklearn.set_config). Пожалуйста, ознакомьтесь с Руководством пользователя о том, как работает механизм маршрутизации.

Варианты для каждого параметра:

  • True: метаданные запрашиваются и передаются в fit при их наличии. Запрос игнорируется, если метаданные не предоставлены.
  • False: метаданные не запрашиваются, и мета-оценщик не передаст их в fit.
  • None: метаданные не запрашиваются, и мета-оценщик выведет ошибку, если пользователь предоставит их.
  • str: метаданные должны передаваться мета-оценщику с этим заданным псевдонимом вместо оригинального имени.

По умолчанию (sklearn.utils.metadata_routing.UNCHANGED) сохраняется существующий запрос. Это позволяет изменить запрос для некоторых параметров, а не для других.

Добавлен в версии 1.3.

Примечание

Этот метод актуален только в том случае, если этот оценщик используется в качестве под-оценщика мета-оценщика, например, внутри Pipeline. В противном случае он не имеет эффекта.

Параметры:
initстрока, True, False или None, по умолчанию sklearn.utils.metadata_routing.UNCHANGED

Маршрутизация метаданных для параметра init в fit.

Возвращает:
selfобъект

Обновлённый объект.

set_params(**params)[source]

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

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

Параметры:
**paramsсловарь

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

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

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

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

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

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

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

Многомерное шкалирование

© 2007–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.manifold.MDS.html

Spec-Zone.ru

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