sklearn.cluster.kmeans_plusplus(X, n_clusters, *, x_squared_norms=None, random_state=None, n_local_trials=None)[source]

Init n_clusters seeds selon k-means++.

Nouveau dans la version 0.24.

Paramètres
X{array-like, sparse matrix} of shape (n_samples, n_features)

Les données dans lesquelles il faut prélever des graines.

n_clustersint

Le nombre de centroïdes à initialiser.

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

La norme euclidienne au carré de chaque point de données.

random_stateint or RandomState instance, default=None

Détermine la génération de nombres aléatoires pour l'initialisation des centroïdes. Passez un int pour une sortie reproductible à travers plusieurs appels de fonction. Voir Glossaire.

n_local_trialsint, default=None

Le nombre d'essais de semis pour chaque centre (sauf le premier), parmi lesquels celui qui réduit le plus l'inertie est choisi avec avidité. Mettre à None pour que le nombre d'essais dépende logarithmiquement du nombre de graines (2+log(k)).

Renvoie à
centersndarray of shape (n_clusters, n_features)

Les centres initiaux pour les k-means.

indicesndarray of shape (n_clusters,)

L'emplacement de l'index des centres choisis dans le tableau de données X. Pour un index et un centre donnés, X[index] = centre.

Notes

Sélectionne les centres de clusters initiaux pour le clustering k-mean de manière intelligente pour accélérer la convergence. voir : Arthur, D. et Vassilvitskii, S. "k-means++ : les avantages d'un ensemencement soigneux". ACM-SIAM symposium on Discrete algorithms. 2007

Exemples

>>>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,4],[1,0]])>>> indices
array([4,2])

Exemples d'utilisation sklearn.cluster.kmeans_plusplus

An example of K-Means++ initialization

Un exemple d'initialisation de K-Means++.