Spec-Zone.ru › scikit-learn

Аффинное распространение

классsklearn.cluster.AffinityPropagation(*, damping=0.5, max_iter=200, convergence_iter=15, copy=True, preference=None, affinity='euclidean', verbose=False, random_state=None)[source]

Выполнить кластеризацию данных методом «Аффинное распространение».

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

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

Коэффициент затухания в диапазоне [0.5, 1.0) - это степень, в которой текущее значение сохраняется по отношению к входным значениям (с весом 1 - damping). Это необходимо для предотвращения числовых колебаний при обновлении этих значений (сообщений).

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

Максимальное количество итераций.

convergence_iterint, по умолчанию=15

Количество итераций без изменения числа оценённых кластеров, которые останавливают сходимость.

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

Создать копию входных данных.

preferencearray-like формы (n_samples,) или float, по умолчанию=None

Предпочтения для каждой точки - точки с большими значениями предпочтений с большей вероятностью будут выбраны в качестве образцов. Число образцов, т. е. кластеров, зависит от входного значения предпочтений. Если предпочтения не переданы в качестве аргументов, они будут установлены в медиану входных сходств.

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

Какой вид близости использовать. В данный момент поддерживаются ‘precomputed’ и euclidean. ‘euclidean’ использует отрицательное значение квадрата евклидова расстояния между точками.

verbosebool, по умолчанию=False

Выводить подробную информацию?

random_stateint, экземпляр RandomState или None, по умолчанию=None

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

Добавлено в версии 0.23: Этот параметр ранее был жёстко задан как 0.

Атрибуты:
cluster_centers_indices_ndarray формы (n_clusters,)

Индексы центров кластеров.

cluster_centers_ndarray формы (n_clusters, n_features)

Центры кластеров (если affinity != precomputed).

labels_ndarray формы (n_samples,)

Метки каждой точки.

affinity_matrix_ndarray формы (n_samples, n_samples)

Содержит матрицу близости, используемую в fit.

n_iter_int

Количество итераций, необходимых для сходимости.

n_features_in_int

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

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

feature_names_in_ndarray формы (n_features_in_,)

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

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

См. также

AgglomerativeClustering

Рекурсивно объединяет пары кластеров, которые минимально увеличивают заданное расстояние связи.

FeatureAgglomeration

Аналогично AgglomerativeClustering, но рекурсивно объединяет признаки вместо выборок.

KMeans

Кластеризация K-Means.

MiniBatchKMeans

Кластеризация Mini-Batch K-Means.

MeanShift

Кластеризация Mean shift с использованием плоского ядра.

SpectralClustering

Применение кластеризации к проекции нормализованной лапласианской матрицы.

Примечания

Пример использования см. в Демонстрация алгоритма кластеризации методом «Аффинное распространение».

Вычислительная сложность алгоритма «Аффинное распространение» квадратична относительно числа точек.

Если алгоритм не сошёлся, он всё равно вернёт массивы cluster_center_indices и метки, если существуют образцы/кластеры, однако они могут быть вырожденными и должны использоваться с осторожностью.

Если fit не сошёлся, cluster_centers_ всё равно заполняется, но может быть вырожденным. В таком случае действуйте осторожно. Если fit не сошёлся и не смог вывести какие-либо cluster_centers_, то predict поместит метку «-1» на каждую выборку.

Если все обучающие выборки имеют одинаковые сходства и одинаковые предпочтения, назначение центров кластеров и меток зависит от предпочтения. Если предпочтение меньше сходств, fit приведёт к одному центру кластера и метке 0 для каждой выборки. В противном случае каждая обучающая выборка становится собственным центром кластера и получает уникальную метку.

Ссылки

Brendan J. Frey и Delbert Dueck, «Кластеризация путём передачи сообщений между точками данных», Science Feb. 2007

Примеры

>>> from sklearn.cluster import AffinityPropagation
>>> import numpy as np
>>> X = np.array([[1, 2], [1, 4], [1, 0],
...               [4, 2], [4, 4], [4, 0]])
>>> clustering = AffinityPropagation(random_state=5).fit(X)
>>> clustering
AffinityPropagation(random_state=5)
>>> clustering.labels_
array([0, 0, 0, 1, 1, 1])
>>> clustering.predict([[0, 0], [4, 4]])
array([0, 1])
>>> clustering.cluster_centers_
array([[1, 2],
       [4, 2]])
fit(X, y=None)[source]

Выполнить кластеризацию по признакам или матрице сходства.

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

Обучающие примеры для кластеризации или сходства/близости между примерами, если affinity='precomputed'. Если предоставлена разреженная матрица признаков, она будет преобразована в разреженную csr_matrix.

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

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

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

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

fit_predict(X, y=None)[source]

Выполнить кластеризацию по признакам/матрице сходства; вернуть метки кластеров.

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

Обучающие примеры для кластеризации или сходства/близости между примерами, если affinity='precomputed'. Если предоставлена разреженная матрица признаков, она будет преобразована в разреженную csr_matrix.

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

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

Возвращает:
labelsndarray формы (n_samples,)

Метки кластеров.

get_metadata_routing()[source]

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

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

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

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

get_params(deep=True)[source]

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

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

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

Возвращает:
параметрыdict

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

predict(X)[source]

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

Параметры:
X{array-like, разреженная матрица} формы (n_samples, n_features)

Новые данные для предсказания. Если предоставлена разреженная матрица, она будет преобразована в разреженную csr_matrix.

Возвращает:
меткиndarray формы (n_samples,)

Метки кластеров.

set_params(**params)[source]

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

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

Параметры:
**параметрыdict

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

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

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

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

Сравнение различных алгоритмов кластеризации на наборах данных

Демонстрация алгоритма кластеризации с помощью распространения близости

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

Spec-Zone.ru

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