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