实现聚类降维显示的算法可以采用多种方法。其中一种常见的方法是使用主成分分析(Principal Component Analysis,PCA)或 t-分布随机邻域嵌入(t-distributed Stochastic Neighbor Embedding,t-SNE)等降维技术将高维数据降至二维或三维,然后使用聚类算法(如 K-means、DBSCAN 等)对数据进行聚类,最后使用可视化工具(如 Matplotlib、Seaborn 等)展示聚类结果。
下面是一个简单的示例,展示了如何使用 PCA 进行降维,然后使用 K-means 对降维后的数据进行聚类,并最终使用 Matplotlib 进行可视化展示:
import numpy as np
import matplotlib.pyplot as plt
from sklearn.datasets import make_blobs
from sklearn.decomposition import PCA
from sklearn.cluster import KMeans
# 生成随机数据
X, y = make_blobs(n_samples=1000, centers=3, random_state=42)
# 使用 PCA 进行降维
pca = PCA(n_components=2)
X_pca = pca.fit_transform(X)
# 使用 K-means 对降维后的数据进行聚类
kmeans = KMeans(n_clusters=3, random_state=42)
kmeans.fit(X_pca)
y_kmeans = kmeans.predict(X_pca)
# 可视化展示
plt.scatter(X_pca[:, 0], X_pca[:, 1], c=y_kmeans, s=50, cmap='viridis')
centers = kmeans.cluster_centers_
plt.scatter(centers[:, 0], centers[:, 1], c='red', s=200, alpha=0.75)
plt.xlabel('PCA Component 1')
plt.ylabel('PCA Component 2')
plt.title('K-means Clustering after PCA')
plt.show()