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