Tôi có ma trận tương tự giữa bốn người dùng. Tôi muốn làm một cụm kết tụ. mã là như thế này:sklearn dữ liệu đầu vào nhóm kết hợp thu thập dữ liệu
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
in kết quả của nhãn giống như:
[[1 1 0 0]
[1 1 0 0]
[0 0 1 2]
[0 0 2 1]]
Điều này có nghĩa nó mang lại một danh sách các cụm kết quả tốt, chúng ta có thể chọn một từ họ? như chọn: [0,0,2,1]. Nếu sai, bạn có thể cho tôi biết cách làm thuật toán kết tụ dựa trên sự giống nhau không? Nếu nó là đúng, ma trận tương tự là rất lớn, làm thế nào tôi có thể chọn kết quả phân cụm tối ưu từ một danh sách lớn? Cảm ơn
Nhưng nếu anh ta cần phân cụm theo thứ bậc thì sao? – Itay