解释每一句代码dataSetKMN 三dreadcsvtestSettxtheaden=NonedataSetKMNSize = lendatasetKMNdataSetKMN = npmatdataSetKMNprintdataSetKMNfor i in rangedataSetKMNSizepltplotdataSetKMNi0dataSetKMNi1 b print原始数据分布pltsa
dataSetKMN = pd.read_csv("testSet.txt", header=None)
从文本文件中读取数据集,header=None表示没有表头
dataSetKMNSize = len(dataSetKMN)
获取数据集大小,即数据点个数
dataSetKMN = np.mat(dataSetKMN)
将数据集转换为矩阵类型,方便后续计算
print(dataSetKMN)
打印数据集
for i in range(dataSetKMNSize): plt.plot(dataSetKMN[i, 0], dataSetKMN[i, 1], 'b*')
遍历数据集中的每个点,并将其绘制为蓝色星形
print("原始数据分布:")
打印输出提示信息
plt.savefig('ch12_kmn_orig.png', dpi=300, bbox_inches='tight')
将绘制的图像保存为文件,dpi表示图片分辨率,bbox_inches='tight'表示去掉边缘留白
plt.show()
显示绘制的图像
k = 4
设置聚类中心个数
centroids, clusterAssment = kmeans(dataSetKMN, k)
调用kmeans算法进行聚类,返回聚类中心和聚类结果
print("step 3:结果输出:")
打印输出提示信息
showCluster(dataSetKMN, k, centroids, clusterAssment)
显示聚类结果的图
原文地址: https://www.cveoy.top/t/topic/g26D 著作权归作者所有。请勿转载和采集!