import matplotlib.pyplot as plt
import numpy as np
from sklearn.cluster import SpectralClustering
from sklearn.manifold import TSNE
import umap.umap_ as umap
import seaborn as sns
from scipy.cluster.hierarchy import dendrogram, linkage
from sklearn.datasets import load_iris
# 加载Sklearn自带的数据集(鸢尾花数据集)
iris = load_iris()
X = iris.data
y = iris.target
# 使用谱聚类算法
n_clusters = 3 # 选择聚类数目
clustering = SpectralClustering(n_clusters=n_clusters, affinity='nearest_neighbors', random_state=42).fit(X)
cluster_labels = clustering.labels_
# 计算相似性矩阵
# 根据聚类结果对数据进行排序
sorted_X = X[np.argsort(cluster_labels)]
# 计算相似性矩阵
similarity_matrix = np.corrcoef(sorted_X)
# 绘制相似性矩阵
plt.figure(figsize=(8, 6))
sns.heatmap(similarity_matrix, cmap='viridis')
plt.title('Similarity Matrix')
plt.xlabel('Samples')
plt.ylabel('Samples')
plt.savefig('./PNG/Similarity_Matrix.png')
# 使用T-SNE降维可视化
tsne = TSNE(n_components=2, random_state=42)
X_tsne = tsne.fit_transform(X)
plt.figure(figsize=(8, 6))
plt.scatter(X_tsne[:, 0], X_tsne[:, 1], c=cluster_labels, cmap='viridis')
plt.title('T-SNE')
plt.xlabel('Component 1')
plt.ylabel('Component 2')
plt.colorbar(label='Cluster')
plt.savefig('./PNG/T-SNE.png')
# 使用UMAP降维可视化
umap_embedder = umap.UMAP(random_state=42)
X_umap = umap_embedder.fit_transform(X)
plt.figure(figsize=(8, 6))
plt.scatter(X_umap[:, 0], X_umap[:, 1], c=cluster_labels, cmap='viridis')
plt.title('UMAP')
plt.xlabel('UMAP 1')
plt.ylabel('UMAP 2')
plt.colorbar(label='Cluster')
plt.savefig('./PNG/UMAP.png')
# 绘制树状图
linkage_matrix = linkage(X, method='ward')
plt.figure(figsize=(10, 8))
dendrogram(linkage_matrix)
plt.title('Hierarchical Clustering Dendrogram')
plt.xlabel('Sample Index')
plt.ylabel('Distance')
plt.savefig('./PNG/Hierarchical_Clustering_Dendrogram.png')
# 绘制一致性热力图
plt.figure(figsize=(8, 6))
sns.heatmap(linkage_matrix, cmap='viridis', annot=True, fmt=".2f")
plt.title('Consistency Heatmap')
plt.xlabel('Sample Index')
plt.ylabel('Sample Index')
plt.savefig('./PNG/Consistency_Heatmap.png')
plt.show() #把前面的plt.show()注释掉,然后运行这段代码,就可以实现同时产生很多图片,而不是关一个开下一个
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
谱聚类.zip (8个子文件)
谱聚类
Iris_Best_Cluster.py 1KB
PNG
Consistency_Heatmap.png 216KB
Hierarchical_Clustering_Dendrogram.png 30KB
Similarity_Matrix.png 96KB
T-SNE.png 45KB
UMAP.png 33KB
Iris.py 2KB
Figure_1.png 399KB
共 8 条
- 1
资源评论
Dx-promax
- 粉丝: 293
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功