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