import numpy as np
from scipy.cluster.hierarchy import linkage, dendrogram
import matplotlib.pyplot as plt
# 创建100个样本的数据
data = np.random.rand(10, 2)
# 使用linkage函数进行层次聚类
linked = linkage(data, 'single')
# 画出树状图(树状图是层次聚类的可视化)
dendrogram(linked)
plt.show()
from sklearn.cluster import DBSCAN
import matplotlib.pyplot as plt
# 创建100个样本的数据
data = np.random.rand(200, 2)
# 使用DBSCAN进行密度聚类
dbscan = DBSCAN(eps=0.1, min_samples=5)
clusters = dbscan.fit_predict(data)
# 可视化聚类结果
plt.scatter(data[:, 0], data[:, 1], c=clusters, cmap='viridis')
plt.show()