当前位置: 首页 > news >正文

特征可视化技术t-SNE

特征可视化技术t-SNE

一、理论介绍

想要了解t-SNE的数学原理可以参考t-SNE完整笔记

关于t-SNE的使用过程中有以下几点需要注意:

  • t-SNE算法并不是每次都能产生相似结果。

  • t-SNE算法使得距离的概念适应于数据集中的区域密度变化。因此,它自然而然地扩大密集的集群,收缩稀疏的集群,使集群大小趋于平衡。

  • 还有一些可以阅读How to Use t-SNE Effectively

二、使用介绍

python sklearn就可以直接使用T-SNE,调用sklearn.mainfold.TSNE即可。

>>> import numpy as np
>>> from sklearn.manifold import TSNE
>>> X = np.array([[0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 1]])
>>> X_embedded = TSNE(n_components=2, learning_rate='auto',
...                   init='random', perplexity=3).fit_transform(X)
>>> X_embedded.shape
(4, 2)

这里面TSNE自身参数网页中都有介绍。这里fit_trainsform(x)输入的x是numpy变量。pytroch中如果想要令特征可视化,需要转为numpy;此外,x的维度是二维的,第一个维度为例子数量,第二个维度为特征数量。比如上述代码中x就是4个例子,每个例子的特征维度为3。Pytroch中图像的特征往往大小是BXCXWXH的,可以flatten一下变成[B, CXWXH]。

参考文献

  1. 如何调参2:利用tSNE降维实现模型隐藏层的可视化
  2. How to Use t-SNE Effectively
  3. t-SNE完整笔记
http://www.lryc.cn/news/23839.html

相关文章:

  • .NET 导入导出Project(mpp)以及发布后遇到的Com组件问题
  • centos 8安装配置 yum/dnf镜像源 以及 docker相关操作
  • java基础之线程池
  • Substrate 基础 -- 教程(Tutorials)
  • 一个线程两次调用start()方法会出现什么情况?
  • 看完再拿五分,软考高项时政提分必备
  • 界面开发(1) --- PyQt5环境配置
  • shield分析
  • Javaweb增删改查之【查】
  • C++ STL:迭代器 Iterator
  • 【C++】泛型编程——模板初阶
  • 数据结构入门--时间 空间复杂度
  • 计算机操作系统第一章
  • ARM LDREX/STREX指令以及独占监控器详解
  • 吉林大学 程序设计基础 2022级 实验复盘 2.23
  • Linux系列 常用命令(目录和文件管理)vi和vim 编辑使用,(笔记)
  • OpenCV入门(一)Python环境的搭建
  • 3.查找算法:顺序查找和二分查找
  • 攻不下dfs不参加比赛(七)
  • 精确光度预测计算工具:AGi32 Crack
  • 47个SQL性能优化技巧,看到就是赚到
  • 汇川SV660N与基恩士 KV7500 控制器调试说明
  • 图观 | ChatGTP是如何通过知识图谱回答问题的?
  • Mysql的索引
  • 计算机的发展
  • 理解Spring中的依赖注入和控制反转
  • XXL-JOB
  • 「牛客网C」初学者入门训练BC134,​BC136​
  • 华为OD机试题【翻转单词顺序】用 C++ 进行编码 (2023.Q1)
  • 4.Spring【Java面试第三季】