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)[source]

Инициализирует n_clusters центроидов по алгоритму k-means++.

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

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

Данные для выбора начальных центроидов.

n_clustersint

Количество центроидов для инициализации.

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

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

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

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

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

random_stateint или RandomState instance, по умолчанию=None

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

n_local_trialsint, по умолчанию=None

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

Возвращаемое значение:
centersndarray формы (n_clusters, n_features)

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

indicesndarray формы (n_clusters,)

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

Примечания

Выбирает начальные центроиды кластеров для кластеризации k-means умным способом, чтобы ускорить сходимость. см.: Arthur, D. and Vassilvitskii, S. “k-means++: the advantages of careful seeding”. ACM-SIAM symposium on Discrete algorithms. 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–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.cluster.kmeans_plusplus.html

Spec-Zone.ru

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