生成kmeans示例代码
时间: 2023-12-25 09:05:06 浏览: 21
以下是两个生成kmeans示例代码的例子:
1.使用sklearn库中的make_blobs方法生成聚类数据,并使用KMeans模型进行聚类
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets._samples_generator import make_blobs
from sklearn.cluster import KMeans
# 生成聚类数据
X, y = make_blobs(n_samples=100, centers=6, random_state=1234, cluster_std=0.6)
# 使用KMeans模型进行聚类
kmeans = KMeans(n_clusters=6, random_state=1234)
kmeans.fit(X)
# 可视化聚类结果
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_)
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], marker='x', s=200, linewidths=3, color='r')
plt.show()
```
2.使用自己编写的kmeans.py文件进行聚类
```python
from numpy import *
import kmeans # kmeans.py文件
from sklearn.datasets.samples_generator import make_blobs
# 生成聚类数据
dataSet, _ = make_blobs(n_samples=1000, n_features=2, centers=4)
dataSet = mat(dataSet)
# 调用kmeans.py文件中的kmeans方法进行聚类
k = 4
centroids, clusterAssment = kmeans.kmeans(dataSet, k)
# 可视化聚类结果
import matplotlib.pyplot as plt
fig = plt.figure()
ax = fig.add_subplot(111)
ax.scatter(dataSet[:, 0].flatten().A[0], dataSet[:, 1].flatten().A[0], s=20, c='blue')
ax.scatter(centroids[:, 0].flatten().A[0], centroids[:, 1].flatten().A[0], s=100, c='red', marker='+')
plt.show()
```