kmeans聚类 调用sklearn包实现kmeans聚类,并画出聚类结果图
时间: 2024-06-06 11:03:34 浏览: 198
K-Means是一种聚类算法,它将数据集划分为K个不同的组或聚类。该算法基于距离度量,即将数据点与最近的质心分配给同一个聚类。K-Means的目标是最小化所有聚类中数据点与质心之间的距离平方和。
在Python中,可以使用scikit-learn(sklearn)包来实现K-Means聚类。以下是一个使用sklearn包实现K-Means聚类并绘制聚类结果图的示例:
```python
# 导入必要的库
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
# 创建一个随机数据集
X, y = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)
# 创建K-Means模型
kmeans = KMeans(n_clusters=4)
# 拟合数据
kmeans.fit(X)
# 预测数据的聚类标签
y_pred = kmeans.predict(X)
# 绘制数据和聚类结果图
plt.scatter(X[:, 0], X[:, 1], c=y_pred)
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=300, c='red')
plt.show()
```
在上述示例中,我们首先使用make_blobs函数生成一个包含300个数据点和4个中心的随机数据集。然后,我们使用KMeans函数创建一个K-Means模型,并使用fit函数拟合数据。最后,我们使用predict函数预测数据的聚类标签,并使用scatter函数绘制数据和聚类结果图。
阅读全文