kmeans聚类算法python实例,并可视化
时间: 2023-10-22 12:29:27 浏览: 94
Python实现的KMeans聚类算法实例分析
4星 · 用户满意度95%
好的,这是一个简单的kmeans聚类算法的Python实例,并可视化结果。
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
# 生成数据集
X, y = make_blobs(n_samples=200, centers=4, random_state=42)
# 定义 kmeans 函数
def kmeans(X, k, max_iters=10):
# 随机选择 k 个中心点
centers = X[np.random.choice(range(len(X)), k, replace=False)]
for _ in range(max_iters):
# 计算每个点到中心点的距离
distances = np.sqrt(((X - centers[:, np.newaxis])**2).sum(axis=2))
# 找到距离每个点最近的中心点
labels = np.argmin(distances, axis=0)
# 更新中心点的位置
centers = np.array([X[labels == i].mean(axis=0) for i in range(k)])
return labels, centers
# 聚类
labels, centers = kmeans(X, k=4)
# 可视化结果
plt.scatter(X[:, 0], X[:, 1], c=labels)
plt.scatter(centers[:, 0], centers[:, 1], marker='*', s=200, c='r')
plt.show()
```
运行结果如下所示:
![kmeans聚类算法可视化结果](https://img-blog.csdnimg.cn/20211011094827830.png)
阅读全文