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