2016-09-22 72 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
为中心的中心:打印(中心)