kmeans聚类算法python实现 sklearn
时间: 2024-09-10 10:27:16 浏览: 64
kmeans聚类算法python实现
KMeans聚类算法是一种无监督学习算法,用于将数据集分成K个不同的簇。每个簇由具有相似特征的数据点组成,而与其它簇中的数据点不同。在Python中,使用`scikit-learn`库可以很容易地实现KMeans算法,下面是一个简单的示例代码:
```python
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
import matplotlib.pyplot as plt
# 生成模拟数据
X, y = make_blobs(n_samples=300, centers=4, random_state=0)
# 创建KMeans实例
kmeans = KMeans(n_clusters=4)
# 进行聚类
kmeans.fit(X)
# 预测新的数据点所属的簇
predictions = kmeans.predict(X)
# 可视化结果
plt.scatter(X[:, 0], X[:, 1], c=predictions, s=50, cmap='viridis')
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=250, marker='*', c='red', edgecolor='black', label='Centroids')
plt.legend(scatterpoints=1)
plt.grid()
plt.show()
```
这段代码首先导入了必要的模块,然后使用`make_blobs`函数生成了模拟数据集。接着创建了`KMeans`实例,指定了要分成的簇的数量。通过`fit`方法对数据集进行拟合,然后使用`predict`方法对新的数据点进行分类。最后,使用matplotlib库将聚类结果可视化,其中包括了数据点和聚类中心。
阅读全文