Ho una matrice di similarità tra quattro utenti. Voglio fare un clustering agglomerato. il codice è come questo:sklearn dati di input clustering agglomerato
lena = np.matrix('1 1 0 0;1 1 0 0;0 0 1 0.2;0 0 0.2 1')
X = np.reshape(lena, (-1, 1))
print("Compute structured hierarchical clustering...")
st = time.time()
n_clusters = 3 # number of regionsle
ward = AgglomerativeClustering(n_clusters=n_clusters,
linkage='complete').fit(X)
print ward
label = np.reshape(ward.labels_, lena.shape)
print("Elapsed time: ", time.time() - st)
print("Number of pixels: ", label.size)
print("Number of clusters: ", np.unique(label).size)
print label
il risultato di stampa di etichette è simile:
[[1 1 0 0]
[1 1 0 0]
[0 0 1 2]
[0 0 2 1]]
Significa questo dà un elenco di possibili risultato cluster, possiamo scegliere uno da loro? come scegliere: [0,0,2,1]. Se è sbagliato, potresti dirmi come fare l'algoritmo agglomerato basato sulla somiglianza? Se è vero, la matrice di similarità è enorme, come posso scegliere il risultato ottimale del clustering da una lista enorme? Grazie
Ma cosa succede se ha bisogno di un clustering gerarchico? – Itay