Pas encore de compte ?
Dans les statistiques et l'exploration de données, la propagation d'affinité est un algorithme de regroupement basé sur le concept de passage de messages entre des points de données.
Testé sous Anaconda et Python 3.7
from sklearn.cluster import AffinityPropagation from sklearn import metrics from sklearn.datasets import make_blobs centers = [[1, 1], [-1, -1], [1, -1]] X, labels_true = make_blobs( n_samples=300, centers=centers, cluster_std=0.5, random_state=0 ) af = AffinityPropagation(preference=-50, random_state=0).fit(X) cluster_centers_indices = af.cluster_centers_indices_ labels = af.labels_ n_clusters_ = len(cluster_centers_indices) print("Estimated number of clusters: %d" % n_clusters_) print("Homogeneity: %0.3f" % metrics.homogeneity_score(labels_true, labels)) print("Completeness: %0.3f" % metrics.completeness_score(labels_true, labels)) print("V-measure: %0.3f" % metrics.v_measure_score(labels_true, labels)) print("Adjusted Rand Index: %0.3f" % metrics.adjusted_rand_score(labels_true, labels)) print( "Adjusted Mutual Information: %0.3f" % metrics.adjusted_mutual_info_score(labels_true, labels) ) print( "Silhouette Coefficient: %0.3f" % metrics.silhouette_score(X, labels, metric="sqeuclidean") ) import matplotlib.pyplot as plt from itertools import cycle plt.close("all") plt.figure(1) plt.clf() colors = cycle("bgrcmykbgrcmykbgrcmykbgrcmyk") for k, col in zip(range(n_clusters_), colors): class_members = labels == k cluster_center = X[cluster_centers_indices[k]] plt.plot(X[class_members, 0], X[class_members, 1], col + ".") plt.plot( cluster_center[0], cluster_center[1], "o", markerfacecolor=col, markeredgecolor="k", markersize=14, ) for x in X[class_members]: plt.plot([cluster_center[0], x[0]], [cluster_center[1], x[1]], col) plt.title("Estimated number of clusters: %d" % n_clusters_) plt.show()
Source : https://scikit-learn.org/stable/auto_examples/cluster/plot_affinity_propagation.html
Bienvenu, je m’appelle Eric Soupet et je suis l'administrateur du site elodees.com. elodees.com est un état de l'art de l'Intelligence Artificielle et se veut collaboratif, vous pouvez dès à présent proposer du contenu tels que des articles, des événements, des tutoriels, ... alors n'hésitez pas !
Crédit des images de la plate-forme : Pixabay - Pixabay License | Pexels - Pexels License