机器学习 高维数据可视化:t-SNE 降维算法
AI-摘要
小嗷犬 GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
机器学习 高维数据可视化:t-SNE 降维算法
小嗷犬t-SNE 简介
t-SNE 的全称为 t-Distributed Stochastic Neighbor Embedding,是一种非线性降维算法,它可以将高维数据映射到低维空间,同时保持数据间的相对距离不变。t-SNE 通常用于可视化高维数据,它可以将高维数据映射到二维或三维空间,从而可以通过图形的方式展示数据的特征。
相比于 PCA 等线性降维算法,t-SNE 能够更好地保留数据的局部结构,因此在可视化高维数据时,t-SNE 通常能够展示出更好的效果。
sklearn 中的 t-SNE
sklearn 中的 t-SNE 位于 sklearn.manifold.TSNE
,它的主要参数有:
n_components
:降维后的维度,默认为 2perplexity
:困惑度,用于控制每个点周围的邻域大小,默认为 30,通常取值在 5 到 50 之间early_exaggeration
:控制 t-SNE 与原始空间距离的关注度,值越大,t-SNE 与原始空间距离越大,默认为 12learning_rate
:学习率,默认为 200,通常取值在 10 到 1000 之间n_iter
:迭代次数,默认为 1000n_iter_without_progress
:当连续多少次迭代没有改善时,训练提前结束,默认为 300min_grad_norm
:梯度的最小值,当梯度的平方和小于该值时,训练提前结束,默认为 1e-7metric
:距离度量,默认为欧氏距离init
:初始化,默认为随机初始化,也可以设置为pca
,表示使用 PCA 进行初始化verbose
:是否打印训练过程,默认为 0,不打印random_state
:随机种子
t-SNE 的训练过程比较耗时,因此在实际使用时,通常会先使用 PCA 等线性降维算法将数据降到较低的维度,然后再使用 t-SNE 将数据降到二维或三维空间。
使用 t-SNE 可视化手写数字数据集
下面我们使用 t-SNE 将手写数字数据集降到二维空间,并将降维后的数据可视化。
导入需要的包:
1 |
|
加载手写数字数据集:
1 |
|
可视化原始数据:
1 |
|
使用 t-SNE 将数据降到二维空间并可视化:
1 |
|
评论
隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果