python不使用sklearn实现聚类
时间: 2023-01-11 17:55:36 浏览: 104
好的。
你可以使用 Python 自带的 `cluster` 库中的 `kmeans` 函数来实现聚类。
这是一个简单的例子:
```
from sklearn import datasets
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
# 加载数据
X, y = datasets.make_blobs(n_samples=150,
n_features=2,
centers=3,
cluster_std=0.5,
shuffle=True,
random_state=0)
# 创建模型,并拟合数据
km = KMeans(n_clusters=3,
init='k-means++',
n_init=10,
max_iter=300,
tol=1e-04,
random_state=0)
y_km = km.fit_predict(X)
# 绘制数据
plt.scatter(X[y_km==0, 0],
X[y_km==0, 1],
s=50, c='lightgreen',
marker='s', edgecolor='black',
label='cluster 1')
plt.scatter(X[y_km==1, 0],
X[y_km==1, 1],
s=50, c='orange',
marker='o', edgecolor='black',
label='cluster 2')
plt.scatter(X[y_km==2, 0],
X[y_km==2, 1],
s=50, c='lightblue',
marker='v', edgecolor='black',
label='cluster 3')
plt.scatter(km.cluster_centers_[:, 0],
km.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 绘制散点图,展示聚类的结果。
希望这对你有
阅读全文