1. t-NSE 可视化

t-SNE是t-Distributed Stochastic Neighbor Embedding简写,出自Visualizing Data using t-SNE论文。

t-SNE是一种非线性降维算法,通过原始空间和嵌入空间的联合概率的KL散度来评估降维到嵌入空间的效果,就是用KL散度的函数作为loss函数,然后通过梯度下降最小化loss函数,最终获得收敛结果。但是t-SNE计算复杂度高。

下面是t-SNE可视化手写数字的代码:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.manifold import TSNE
from sklearn.preprocessing import StandardScaler
import seaborn as snsdf = pd.read_csv('mnist_train.csv')# 看看数据样子
print(df.head(4))
# 获取标签列
labels = df['label']# 获取训练的数字图片的pixel
data = df.drop("label", axis=1)

输出:

   label  1x1  1x2  1x3  1x4  1x5  ...  28x23  28x24  28x25  28x26  28x27  28x28
0      5    0    0    0    0    0  ...      0      0      0      0      0      0
1      0    0    0    0    0    0  ...      0      0      0      0      0      0
2      4    0    0    0    0    0  ...      0      0      0      0      0      0
3      1    0    0    0    0    0  ...      0      0      0      0      0      0[4 rows x 785 columns]

2. 数据预处理

## 预处理数据 标准化
standardized_data = StandardScaler().fit_transform(data)
print(standardized_data.shape) #(60000, 784)#只取前5000样例
data_5000 = standardized_data[0:5000, :]
labels_5000 = labels[0:5000]

3. t-SNE降维及可视化

##建立TSNE实例
model = TSNE(n_components=2, random_state=0)
# n_components:降维后维度,一般设置2,
# 还有像perplexity困惑度,默认30
# learning rate学习率,默认200
# n_iter迭代次数,最大1000#训练得到降维后数据
tsne_data = model.fit_transform(data_5000)#将降维后数据和对应label纵向拼接后再转置为样本数5000x4列的矩阵
tsne_data = np.vstack((tsne_data.T, labels_5000)).T
tsne_df = pd.DataFrame(data=tsne_data,columns=("dim_1", "dim_2", "label"))# 可视化tSNE结果
plt.figure(dpi=500)
sns.FacetGrid(tsne_df, hue="label", height=10).map(plt.scatter, 'dim_1', 'dim_2').add_legend()plt.savefig('tSNE.png')
plt.show()

结果如下:

Inference

[1] 数据降维与可视化——t-SNE

2. t-NSE 可视化相关推荐

  1. 工控安全:Nmap NSE扫描脚本列表

    Nmap NSE脚本 端口 插件信息 mms-identify.nse 102 iec-61850-8-1 (mms) ics protocol s7-enumerate.nse 102 numera ...

  2. 【置顶】利用 NLP 技术做简单数据可视化分析教程(实战)

    置顶 本人决定将过去一段时间在公司以及日常生活中关于自然语言处理的相关技术积累,将在gitbook做一个简单分享,内容应该会很丰富,希望对你有所帮助,欢迎大家支持. 内容介绍如下 你是否曾经在租房时因 ...

  3. windows安装MongoDB环境以及在pycharm中配置可视化插件

    安装MongoDB数据库 参考这里 安装PyMongo python3 -m pip3 install pymongo指定版本 python3 -m pip3 install pymongo==3.5 ...

  4. 只要5分钟用数据可视化带你看遍11月份新闻热点事件

    2017年11月份已经离我们而去,在过去的11月份我们也许经历了双十一的剁手,也可能亲眼看见了别人剁手.11月份的北京大兴区发生了"11·18"重大火灾,国内多家幼儿园也多次上了头 ...

  5. 模型可视化_20210208

    20210204 https://ezyang.github.io/convolution-visualizer/index.html 卷积动态可视化 今天小编要给大家推荐的这个可视化工具Visual ...

  6. lightgbm 决策树 可视化 graphviz

    决策树模型,XGBoost,LightGBM和CatBoost模型可视化 安装 graphviz 参考文档 http://graphviz.readthedocs.io/en/stable/manua ...

  7. 深度学习网络模型可视化netron

    很多时候,复现人家工程的时候,需要了解人家的网络结构.但不同框架之间可视化网络层方法不一样,这样给研究人员造成了很大的困扰. 前段时间,发现了一个可视化模型结构的神奇:Netron 查看全文 http ...

  8. Pytorch使用tensorboardX可视化。超详细

    tensorboard --logdir runs 改为 tensorboard --logdir=D:\model\tensorboard\runs 重点 在网上看了很多方法后发现将原本链接中的计算 ...

  9. Pytorch的网络结构可视化(tensorboardX)(详细)

    20210610 if config.test is True:model = load_test_model(model, config)print(model) 打印网络结构 版权声明:本文为博主 ...

  10. BERT可视化工具bertviz体验

    BERT可视化工具体验:bertviz是用于BERT模型注意力层的可视化页面. 1,bertviz的github地址:https://github.com/jessevig/bertviz 2,将be ...

最新文章

  1. 庐山真面-Oxite的HelloWorld
  2. 调整PowerDesigner各种字体大小
  3. 从shell命令行推送数据到远程MySQL数据库
  4. 千万不要手贱在win10系统上执行win7激活工具!!!
  5. 水经注叠加cad_相见恨晚的50个CAD技巧
  6. 标准输入输出 stdio 流缓冲 buffering in standard streams
  7. Java 类、对象和方法
  8. 实用:AE/PR 视频交换格式哪家强?
  9. vs code git 编辑器中拉取(pull) 的时候报错 [rejected] v1.0.0 -> v1.0.0 (would clobber existing tag)
  10. mysql 1449 问题
  11. NetSpeed--网速检测
  12. 2019河南对口升学高考试卷计算机专业课,2019河南对口升学高考试卷计算机专业课-9页word资料...
  13. 数据库概述09(数据库中的锁机制)
  14. java即时通讯框架_Spring Boot 开发私有即时通信系统(WebSocket)
  15. 微信地图wgs84坐标,gcj02坐标,bd09坐标转换
  16. 【网络教程】群晖安装甜糖最新教程,手把手教您在Docker中安装官方甜糖
  17. 如何编写好的代码/成为一个更好的程序员
  18. 什么是token?Android中token的使用讲解
  19. gt800打印测试软件,zebra GT800 高级桌面条码标签打印机
  20. 今日免费PNG图标集下载 - SweetiePlus

热门文章

  1. 【240行拿下】基于C语言 实现通讯录管理系统 带文件保存及读取功能
  2. 深入理解Java线程的调度策略
  3. 十六进制颜色码转换成RGB颜色值
  4. 阿里取消周报,打击低效加班!HR透露6大原因!
  5. 【单片机笔记】使用ESP8266的WIFI-MQTT串口透传模块实现TLINK平台测试
  6. InterValue项目周报:20190318-20190324
  7. ankidroid记忆卡片android,AnkiDroid
  8. vue3 vite ts引入vue文件报错 ts(2307)
  9. wordpress账号无法登陆_Wordpress无法登陆终极解决方案
  10. 通过Python的pdfplumber库将pdf转为图片