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])
Примеры из галереи
© 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