Spec-Zone.ru › scikit-learn

AffinityPropagation

classsklearn.cluster.AffinityPropagation(*, damping=0.5, max_iter=200, convergence_iter=15, copy=True, preference=None, affinity='euclidean', verbose=False, random_state=None)[исходный код]

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

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

Параметры:
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

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

Добавлено в версии 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-средних.

MiniBatchKMeans

Кластеризация методом k-средних с мини-пакетами.

MeanShift

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

SpectralClustering

Выполняет кластеризацию проекции нормализованного лапласиана.

Примечания

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

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

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

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

Ссылки

Brendan J. Frey и Delbert Dueck, «Кластеризация путем передачи сообщений между точками данных», Science, февраль 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)[исходный код]

Обучает модель кластеризации на признаках или матрице близости.

Параметры:
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)[исходный код]

Обучает модель кластеризации на признаках/матрице близости и возвращает метки кластеров.

Параметры:
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()[исходный код]

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

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

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

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

get_params(deep=True)[исходный код]

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

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

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

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

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

predict(X)[исходный код]

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

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

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

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

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

set_params(**params)[исходный код]

Задает параметры этого оценщика.

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

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

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

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

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

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

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

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

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

Spec-Zone.ru

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