from sklearn.manifold import TSNE
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
# 提取特征和目标变量
X = data.drop('target', axis=1)
y = data['target']
# 使用 t-SNE 进行降维
tsne = TSNE(n_components=2, random_state=42)
X_tsne = tsne.fit_transform(X)
# 使用 PCA 进行降维
pca = PCA(n_components=2, random_state=42)
X_pca = pca.fit_transform(X)
# 设置图片清晰度
plt.rcParams['figure.dpi'] = 300
# 设置 matplotlib 支持中文
plt.rcParams['font.sans-serif'] = ['WenQuanYi Zen Hei']
plt.rcParams['axes.unicode_minus'] = False
# 创建画布
fig, axes = plt.subplots(1, 2, figsize=(12, 6))
# 绘制 t-SNE 可视化结果
axes[0].scatter(X_tsne[:, 0], X_tsne[:, 1], c=y, cmap='viridis')
axes[0].set_title('t-SNE 可视化')
axes[0].set_xlabel('第一主成分')
axes[0].set_ylabel('第二主成分')
# 绘制 PCA 可视化结果
axes[1].scatter(X_pca[:, 0], X_pca[:, 1], c=y, cmap='viridis')
axes[1].set_title('PCA 可视化')
axes[1].set_xlabel('第一主成分')
axes[1].set_ylabel('第二主成分')
plt.tight_layout()
plt.show()
@浙大疏锦行