Spec-Zone.ru › scikit-learn

kmeans_plusplus

sklearn.cluster.kmeans_plusplus(X, n_clusters, *, sample_weight=None, x_squared_norms=None, random_state=None, n_local_trials=None)[исходный код]

Инициализирует n_clusters начальных центров согласно алгоритму k-means++.

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

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

Данные, из которых выбираются начальные центры.

n_clustersint

Количество инициализируемых центроидов.

sample_weightarray-like of shape (n_samples,), default=None

Веса каждого наблюдения в X. Если None, всем наблюдениям присваивается одинаковый вес. sample_weight игнорируется, если init является вызываемым объектом или массивом, предоставленным пользователем.

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

x_squared_normsarray-like of shape (n_samples,), default=None

Квадрат евклидовой нормы каждой точки данных.

random_stateint or RandomState instance, default=None

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

n_local_trialsint, default=None

Количество попыток выбора начального положения для каждого центра (кроме первого); жадно выбирается вариант, сильнее всего уменьшающий инерцию. Значение None позволяет определить количество попыток логарифмически в зависимости от числа начальных центров (2+log(k)); это рекомендуемая настройка. Значение 1 отключает жадный выбор кластеров и возвращает базовый алгоритм k-means++, который, как показали эмпирические наблюдения, работает хуже его жадного варианта.

Возвращает:
centersndarray of shape (n_clusters, n_features)

Начальные центры для k-means.

indicesndarray of shape (n_clusters,)

Индексы выбранных центров в массиве данных X. Для заданного индекса и центра X[index] = center.

Примечания

Интеллектуально выбирает начальные центры кластеров для кластеризации методом k-means, чтобы ускорить сходимость. См.: Arthur, D. и Vassilvitskii, S. «k-means++: преимущества тщательного выбора начальных центров». Симпозиум ACM-SIAM по дискретным алгоритмам. 2007

Примеры

>>> from sklearn.cluster import kmeans_plusplus
>>> import numpy as np
>>> X = np.array([[1, 2], [1, 4], [1, 0],
...               [10, 2], [10, 4], [10, 0]])
>>> centers, indices = kmeans_plusplus(X, n_clusters=2, random_state=0)
>>> centers
array([[10,  2],
       [ 1,  0]])
>>> indices
array([3, 2])

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

Пример инициализации K-Means++

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

Spec-Zone.ru

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