2016-09-22 77 views
-1


忽略k均值羣集的輸入數據

輸入數據
(鍵,數據點)

A,1,2,0,1,2,1的第一列, 2,1
B,2,2,3,1,1,1,1,0
C,3,1,2,3,4,5,0,1
D,1,2,0 ,1,2,5,0,1
....

我有上述格式的輸入數據。我想執行Kmeans cluserting上面的數據忽略第一列,並想確定每個記錄屬於哪個中心。我已經丟棄了第一欄(鍵)和能夠找到使用以下代碼的聚類中心,但我期待在以下格式輸出
(鍵,cluster_centre)
A,0
B,2
Ç ,1
d,0
...

代碼:

data = sc.textFile("/home/user/inputfile.txt") 
parsedData = data.map(lambda line: array([long(x.strip()) for x in line.split(',')])) 
model = KMeans.train(parsedData, 3, maxIterations=10, runs=10, initializationMode="random") 
centers = model.clusterCenters 
for center in centers: print(center) 
+2

問題是什麼?我不明白。 – gsamaras

+1

使用數組子集'[1:]'刪除第一列? –

回答

0

filtered_cols = parsed_data.map(拉姆達X:X [1])
模型= KMeans.train(filtered_cols,3,maxIterations = 10,運行= 10,initializationMode = 「隨機」)
中心= model.clusterCenters
爲中心的中心:打印(中心)