TSNE是一种降维与可视化技术,可以将数据点之间的相似度转换为概率。在原空间(高维空间)中转化为基于高斯分布的概率;在嵌入空间(二维空间)中转化为基于t分布的概率。这使得t-SNE不仅可以关注局部(SNE只关注相邻点之间的相似度映射而忽略了全局之间的相似度映射,使得可视化后的边界不明显),还关注全局,使可视化效果更好(簇内不会过于集中,簇间边界明显)。也可以应用于深度学习中,将最后一 层得到的输出进行TSNE降维。
有兴趣的朋友可以看这篇博客:t-SNE实践——sklearn教程
https://blog.youkuaiyun.com/hustqb/article/details/80628721
"""t-SNE对手写数字进行可视化"""
import numpy as np
from sklearn.manifold import TSNE
from time import time
import matplotlib.pyplot as plt
from sklearn import datasets
def get_data():
digits = datasets.load_digits(n_class=6)
data = digits.data # (1083,64)
label = digits.target # (1083,)
n_samples, n_features = data.shape
return data, label, n_samples, n_features