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)

显示聚类结果的图

解释每一句代码dataSetKMN 三dreadcsvtestSettxtheaden=NonedataSetKMNSize = lendatasetKMNdataSetKMN = npmatdataSetKMNprintdataSetKMNfor i in rangedataSetKMNSizepltplotdataSetKMNi0dataSetKMNi1 b print原始数据分布pltsa

原文地址: https://www.cveoy.top/t/topic/g26D 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录