K均值(Kmeans)是一种常用的聚类算法,它将数据点分为预先确定的K个簇,使得每个数据点都属于与其最近的簇的中心。以下是一个简单的Python示例,演示如何使用scikitlearn库中的KMeans类来实现K均值聚类。
```python
导入必要的库
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
生成模拟数据
X, _ = make_blobs(n_samples=300, centers=4, cluster_std=0.60, random_state=0)
创建KMeans模型并拟合数据
kmeans = KMeans(n_clusters=4)
kmeans.fit(X)
获取簇中心和预测的簇标签
centers = kmeans.cluster_centers_
labels = kmeans.labels_
绘制数据点和簇中心
plt.figure(figsize=(8, 6))
绘制数据点
plt.scatter(X[:, 0], X[:, 1], c=labels, s=50, cmap='viridis')
绘制簇中心
plt.scatter(centers[:, 0], centers[:, 1], c='red', s=200, alpha=0.9)
plt.title('K均值聚类示例')
plt.xlabel('特征1')
plt.ylabel('特征2')
plt.show()
```
在这个示例中,我们首先生成了一个模拟数据集,然后使用KMeans类拟合数据。接着,我们提取了簇中心和每个数据点所属的簇,并将它们可视化出来。可以看到,数据点根据其所属的簇被不同的颜色标记,而簇中心以红色大圆点的形式表示。
你可以根据需要调整参数,如簇的数量(n_clusters)、初始化方法(init)、最大迭代次数(max_iter)等,以获得更好的聚类效果。
希望这个示例对你有所帮助!
文章已关闭评论!
2024-11-26 09:28:14
2024-11-26 09:27:06
2024-11-26 09:25:40
2024-11-26 09:24:16
2024-11-26 09:22:00
2024-11-26 09:20:52
2024-11-26 09:19:35
2024-11-26 09:18:11