1、题目
给出一个数据集data_multivar.txt,里面有200个点坐标,在平面坐标系下可以画出它的散点图,如图11-12所示。
data_multivar.txt
图11-12 数据集 data_multivar.txt 散点图
用K均值聚类算法来训练模型,将该数据集的200个点分成4类。注意:运行之前,首先将给出的数据集data_multivar.txt 拷贝到相应的文件夹中。读者可以在程序中设置k值为2、3、5等,运行代码进行比较。
2、代码
在11.2代码基础上改这一点即可?我也不知道,哎
# K取值2
print("step2.1:聚类")
k=2
centroids,clusterAssment=kmeans(dataSetKNN1,k)
print('数据类型:',dataSetKNN1.dtype)
print("step3.1:结果输出:见'图2.png'")
showCluster(dataSetKNN1,k,centroids,clusterAssment)
# K取值3
print("step2.2:聚类")
k=3
centroids,clusterAssment=kmeans(dataSetKNN1,k)
print('数据类型:',dataSetKNN1.dtype)
print("step3.2:结果输出:见'图3.pag'")
showCluster(dataSetKNN1,k,centroids,clusterAssment)
# K取值5
print("step2.3:聚类")
k=5
centroids,clusterAssment=kmeans(dataSetKNN1,k)
print('数据类型:',dataSetKNN1.dtype)
print("step3.3:结果输出:见'图5.png'")
showCluster(dataSetKNN1,k,centroids,clusterAssment)
3、结果图
1、
2、
3、
4、
4、