统计学补充概念11-tsne
概念
t-SNE(t-distributed Stochastic Neighbor Embedding)是一种非线性降维技术,用于可视化高维数据在低维空间中的分布。与主成分分析(PCA)等线性降维方法不同,t-SNE专注于保留数据点之间的局部相似性关系,使得在降维后的空间中相似的数据点更加靠近,而不一定考虑全局结构。
t-SNE的核心思想是,在高维空间中,使用概率分布来表示数据点之间的关系,然后在低维空间中构建一个类似的概率分布,使得两个空间中的分布尽可能相似。这样,t-SNE试图在低维空间中保留数据点之间的相似性关系。
代码实现
import numpy as np
from sklearn.manifold import TSNE
from sklearn.datasets import load_iris
import matplotlib.pyplot as plt# 加载鸢尾花数据集
data = load_iris()
X = data.data
y = data.target# 创建t-SNE模型并降维
tsne = TSNE(n_components=2, perplexity=30, random_state=42)
X_tsne = tsne.fit_transform(X)# 可视化降维结果
plt.scatter(X_tsne[:, 0], X_tsne[:, 1], c=y, cmap='viridis')
plt.xlabel('t-SNE Dimension 1')
plt.ylabel('t-SNE Dimension 2')
plt.title('t-SNE Visualization')
plt.colorbar()
plt.show()