聚类图的python表示方法
时间: 2024-01-29 08:04:17 浏览: 61
Python图像聚类
在Python中,有多种方法可以表示聚类图,以下是两种常见的方法:
1. 使用scikit-learn库中的dendrogram函数绘制聚类树状图:
```python
from scipy.cluster.hierarchy import dendrogram, linkage
import matplotlib.pyplot as plt
import numpy as np
# 生成随机数据
np.random.seed(4711)
a = np.random.normal(size=(100,2)) + np.array([10,10])
b = np.random.normal(size=(100,2)) + np.array([0,-10])
c = np.random.normal(size=(100,2)) + np.array([-10,10])
d = np.random.normal(size=(100,2)) + np.array([-10,-10])
X = np.concatenate((a,b,c,d))
# 通过linkage函数生成聚类树
Z = linkage(X, 'ward')
# 绘制聚类树状图
fig = plt.figure(figsize=(25, 10))
dn = dendrogram(Z)
plt.show()
```
2. 使用matplotlib库中的scatter函数绘制聚类散点图:
```python
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
import numpy as np
# 生成随机数据
np.random.seed(0)
X = np.random.randn(1000, 2)
# 通过KMeans算法进行聚类
kmeans = KMeans(n_clusters=4, random_state=0).fit(X)
# 绘制聚类散点图
fig = plt.figure(figsize=(8, 6))
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_)
plt.title('KMeans Clustering')
plt.xlabel('X1')
plt.ylabel('X2')
plt.show()
```
以上代码仅为示例,实际使用时需要根据数据类型和聚类算法进行相应的调整。
阅读全文