> Modules non standards > Scikit-Learn > Clustering
Clustering
KMeans : on doit préciser le nombre de clusters. L'algorithme cherche K centroïdes qui vont minimiser l'inertie, en faisant l'hypothèse que les clusters sont convexes et isotropes.
MiniBatchKMeans : même principe que kmeans, mais sur des petits batchs (de 100 par défaut) :
- kmeans = sklearn.cluster.MiniBatchKMeans(n_clusters = 3, random_state = 0)
- un peu moins précis que KMeans, mais beaucoup plus rapide.
Clustering hierarchique :
Gaussian mixture : cherche des clusters sous forme de mélange de modèles gaussien avec un algorithme de EM (Expectation Maximization) :
Affinity propagation : pas besoin de préciser le nombre de clusters, par contre, l'algorithme est couteux en temps et en mémoire (n^2) :
DBSCAN : pas besoin de préciser le nombre de clusters, par contre, il suppose que la densité des clusters est similaire, et il faut en général chercher le bon paramètre eps qui est critique.
Résultats :
- dbscan.labels_ : les labels des classes. Attention, certains individus peuvent avoir comme label -1, ce qui veut dire qu'ils sont outliers (n'appartiennent à aucun cluster).
Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert