import numpy as np from sklearn.cluster import KMeans # 数据准备 data = np.array([ [100, 50, 20, 30, 80, 40, 10, 70], # 辽宁省的数据 [200, 150, 80, 60, 120, 100, 30, 90], # 浙江省的数据 [80, 60, 10, 20, 40, 30, 5, 50], # 河南省的数据 [50, 30, 5, 10, 25, 15, 3, 20], # 甘肃省的数据 [120, 80, 30, 40, 60, 50, 15, 40] # 青海省的数据 ]) # 数据标准化(可选,根据需要进行标准化处理) # data = (data - data.mean(axis=0)) / data.std(axis=0) # 使用K均值聚类算法进行分类 k = 5 # 分类的数量 kmeans = KMeans(n_clusters=k, random_state=0) labels = kmeans.fit_predict(data) # 打印分类结果 provinces = ["辽宁", "浙江", "河南", "甘肃", "青海"] for i, label in enumerate(labels): print(f"{provinces[i]}: 类别 {label}")根据代码绘制散点图
时间: 2023-07-02 16:08:33 浏览: 114
SX1909025周星楠_Kmeans_K._
这里是使用Python中的Matplotlib库绘制散点图的代码:
```
import matplotlib.pyplot as plt
# 绘制数据点
plt.scatter(data[:,0], data[:,1], c=labels, cmap='rainbow')
# 添加省份标签
for i, province in enumerate(provinces):
plt.annotate(province, (data[i,0], data[i,1]))
# 设置坐标轴标签和标题
plt.xlabel('GDP')
plt.ylabel('人均收入')
plt.title('省份聚类散点图')
# 显示图像
plt.show()
```
这样就可以得到一个带有省份标签的散点图,每个点的颜色代表该点所属的聚类类别。根据代码中设定的k值,本例中会将5个省份分为5个类别。
阅读全文