0
您好,我正在嘗試使用K means和vq在scipy中實現:這裏更詳細的信息 - >http://docs.scipy.org/doc/scipy/reference/cluster.vq.html。問題是我有一個[x,36]的列表,其中每行是一個觀察值,每列是觀察的一個字段,所以基本上每個觀察值都由36個值組成。Scipy:Kmeans和vq如何使用它們?
我想將它們聚集在一起,並瞭解哪一行進入哪個集羣。根據文件,它應該是這樣的:
data_array_n = np.array(data_array)
whitened = whiten(data_array_n)
print "Starting K means"
centroids, distortion = kmeans(whitened, k, iter=1000)
print centroids
idx, distortion = vq(whitened , centroids)
但當我檢查idx我得到完全無用的值。 data_array是36個元素中的x列表的列表。 謝謝你的幫助
請詳細描述「完全無用的值」。它們與文檔承諾的內容相匹配嗎? –
對不起,你是對的。 例如,如果我通過一個K = 3,我希望有三個36維的數組與座標的質心。無論我通過多少K,我得到的是一個單一質心。 此外,idx應相應於文檔,一個介於0和K之間的整數,基本上將相應的行分配給適當的集羣。我得到什麼,而不是像這些值: [139733472771528 139733472771528 46314096 46314096 -2251799813685248 -2251799813685248 -2251799813685248 -2251799813685248 -2251799813685248 .... – MixturaDementiae
取出美白功能似乎能正常工作......會變成這樣有意義嗎? ?? – MixturaDementiae