資源簡介
通過k-means實現聚類,本例給出的數據集是testSet,用戶下載代碼以后,修改fileIn = open('F:/python/testSet.txt') 這句代碼為自己文件的存放位置,即可運行。
代碼片段和文件信息
#?-*-?coding:?utf-8?-*-
“““
Created?on?Thu?Nov?17?16:13:56?2016
@author:?phl
“““
print(“k-means算法程序“)
from?numpy?import?*??
import?time??
import?matplotlib.pyplot?as?plt?
#?歐幾里得聚類計算
def?euclDistance(vector1?vector2):
????return?sqrt(sum(power(vector2?-?vector1?2)))??
#?隨機初始化聚類的中心
def?initCentriods(dataSetk):
????print(dataSet)
????numSamplesdim?=?dataSet.shape?#dim列數
????centroids?=?zeros((k?dim))????
????print(“行數:“numSamples)
????print(“列數:“dim)
????for?i?in?range(k):
????????index?=?int(random.uniform(0?numSamples))?
????????centroids[i?:]?=?dataSet[index?:]
????return?centroids
#?k-means?cluster??
def?kmeans(dataSet?k):
????numSamples?=?dataSet.shape[0]??#dataSet.shape是幾行幾列的意思,這里是7行2列
????print(“行數:“numSamples)
????clusterAssment?=?mat(zer
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????3302??2016-11-17?20:16??k_means\k_means.py
?????文件??????????57??2016-11-17?16:39??k_means\testSet.txt
?????文件?????????807??2016-11-17?20:16??k_means\test_kmeans.py
?????目錄???????????0??2016-11-17?20:36??k_means\
評論
共有 條評論