利用python中的numpy库,使用kmeans算法完成西瓜数据集的k均值聚类
时间: 2023-07-15 09:12:30 浏览: 131
好的,下面是一个完整的示例代码,用于使用numpy库和kmeans算法进行西瓜数据集的k均值聚类:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# 加载西瓜数据集
data = np.loadtxt('watermelon.csv', delimiter=',', skiprows=1, usecols=(1, 2))
# 绘制原始数据的散点图
plt.scatter(data[:, 0], data[:, 1])
plt.title('Watermelon dataset')
plt.xlabel('Density')
plt.ylabel('Sugar content')
plt.show()
# 使用kmeans算法进行聚类
kmeans = KMeans(n_clusters=3).fit(data)
# 绘制聚类结果的散点图
plt.scatter(data[:, 0], data[:, 1], c=kmeans.labels_)
plt.title('KMeans clustering')
plt.xlabel('Density')
plt.ylabel('Sugar content')
plt.show()
# 输出聚类的中心点
print(kmeans.cluster_centers_)
```
在这个代码中,我们首先使用numpy库加载了西瓜数据集。然后,我们使用matplotlib库绘制了原始数据的散点图,以便我们可以看到数据的分布情况。
接着,我们使用sklearn库中的KMeans类来进行k均值聚类。我们将聚类数设置为3,然后使用fit()方法对数据进行聚类。
最后,我们绘制了聚类结果的散点图,并输出了聚类的中心点。
阅读全文