kmeans算法的python實現

jopen 9年前發布 | 25K 次閱讀 算法 Kmeans

kmeans算法的python實現 KMeans為實現算法的文件 test_kmeans為二維數據的測試文件 KMeans為實現3維數據的稍微一點的改動 test_kmeas_v1為三維數據的測試文件各個文件的注釋文件均比較詳細

#################################################  
# kmeans: k-means cluster  
# Author :  
# Date   :   
# HomePage :  
# Email  :  
#################################################  

from numpy import *  
import time  
import matplotlib.pyplot as plt 
import KMeans

## step 1: load data  
print ("step 1: load data..." ) 
dataSet = []   #列表,用來表示,列表中的每個元素也是一個二維的列表;這個二維列表就是一個樣本,樣本中包含有我們的屬性值和類別號。
#與我們所熟悉的矩陣類似,最終我們將獲得N*2的矩陣,每行元素構成了我們的訓練樣本的屬性值和類別號
fileIn = open("D:/xuepython/testSet.txt")  #是正斜杠
for line in fileIn.readlines(): 
    temp=[]
    lineArr = line.strip().split('\t')  #line.strip()把末尾的'\n'去掉
    temp.append(float(lineArr[0]))
    temp.append(float(lineArr[1]))
    dataSet.append(temp)
    #dataSet.append([float(lineArr[0]), float(lineArr[1])])  
fileIn.close()  
## step 2: clustering...  
print ("step 2: clustering..."  )
dataSet = mat(dataSet)  #mat()函數是Numpy中的庫函數,將數組轉化為矩陣
k = 4  
centroids, clusterAssment = KMeans.kmeans(dataSet, k)  #調用KMeans文件中定義的kmeans方法。

## step 3: show the result  
print ("step 3: show the result..."  )
KMeans.showCluster(dataSet, k, centroids, clusterAssment)

項目主頁:http://www.baiduhome.net/lib/view/home/1438149893238

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!