Аффинное распространение
- класс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