-
Notifications
You must be signed in to change notification settings - Fork 42
/
test_kmeans_v1.py
37 lines (34 loc) · 1.43 KB
/
test_kmeans_v1.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#################################################
# kmeans: k-means cluster
# Author :
# Date :
# HomePage :
# Email :
#################################################
from numpy import *
import time
import matplotlib.pyplot as plt
import KMeans_v1
## step 1: load data
print ("step 1: load data..." )
dataSet = [] #列表,用来表示,列表中的每个元素也是一个二维的列表;这个二维列表就是一个样本,样本中包含有我们的属性值和类别号。
#与我们所熟悉的矩阵类似,最终我们将获得N*2的矩阵,每行元素构成了我们的训练样本的属性值和类别号
fileIn = open("D:/xuepython/kmeans/keansData.txt") #是正斜杠
for line in fileIn.readlines():
#temp=[]
lineArr = line.strip().split('\t') #line.strip()把末尾的'\n'去掉
#print(lineArr)
#temp.append(float(lineArr[0]))
#temp.append(float(lineArr[1]))
#temp.append(float(lineArr[2]))
#dataSet.append(temp)
dataSet.append([float(lineArr[0]), float(lineArr[1]),float(lineArr[2])])
fileIn.close()
## step 2: clustering...
print ("step 2: clustering..." )
dataSet = mat(dataSet) #mat()函数是Numpy中的库函数,将数组转化为矩阵
k =10
centroids, clusterAssment = KMeans_v1.kmeans(dataSet, k) #调用KMeans文件中定义的kmeans方法。
## step 3: show the result
print ("step 3: show the result..." )
#KMeans_v1.showCluster(dataSet, k, centroids, clusterAssment)