2. t-NSE 可视化
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 可视化相关推荐
- 工控安全:Nmap NSE扫描脚本列表
Nmap NSE脚本 端口 插件信息 mms-identify.nse 102 iec-61850-8-1 (mms) ics protocol s7-enumerate.nse 102 numera ...
- 【置顶】利用 NLP 技术做简单数据可视化分析教程(实战)
置顶 本人决定将过去一段时间在公司以及日常生活中关于自然语言处理的相关技术积累,将在gitbook做一个简单分享,内容应该会很丰富,希望对你有所帮助,欢迎大家支持. 内容介绍如下 你是否曾经在租房时因 ...
- windows安装MongoDB环境以及在pycharm中配置可视化插件
安装MongoDB数据库 参考这里 安装PyMongo python3 -m pip3 install pymongo指定版本 python3 -m pip3 install pymongo==3.5 ...
- 只要5分钟用数据可视化带你看遍11月份新闻热点事件
2017年11月份已经离我们而去,在过去的11月份我们也许经历了双十一的剁手,也可能亲眼看见了别人剁手.11月份的北京大兴区发生了"11·18"重大火灾,国内多家幼儿园也多次上了头 ...
- 模型可视化_20210208
20210204 https://ezyang.github.io/convolution-visualizer/index.html 卷积动态可视化 今天小编要给大家推荐的这个可视化工具Visual ...
- lightgbm 决策树 可视化 graphviz
决策树模型,XGBoost,LightGBM和CatBoost模型可视化 安装 graphviz 参考文档 http://graphviz.readthedocs.io/en/stable/manua ...
- 深度学习网络模型可视化netron
很多时候,复现人家工程的时候,需要了解人家的网络结构.但不同框架之间可视化网络层方法不一样,这样给研究人员造成了很大的困扰. 前段时间,发现了一个可视化模型结构的神奇:Netron 查看全文 http ...
- Pytorch使用tensorboardX可视化。超详细
tensorboard --logdir runs 改为 tensorboard --logdir=D:\model\tensorboard\runs 重点 在网上看了很多方法后发现将原本链接中的计算 ...
- Pytorch的网络结构可视化(tensorboardX)(详细)
20210610 if config.test is True:model = load_test_model(model, config)print(model) 打印网络结构 版权声明:本文为博主 ...
- BERT可视化工具bertviz体验
BERT可视化工具体验:bertviz是用于BERT模型注意力层的可视化页面. 1,bertviz的github地址:https://github.com/jessevig/bertviz 2,将be ...
最新文章
- 庐山真面-Oxite的HelloWorld
- 调整PowerDesigner各种字体大小
- 从shell命令行推送数据到远程MySQL数据库
- 千万不要手贱在win10系统上执行win7激活工具!!!
- 水经注叠加cad_相见恨晚的50个CAD技巧
- 标准输入输出 stdio 流缓冲 buffering in standard streams
- Java 类、对象和方法
- 实用:AE/PR 视频交换格式哪家强?
- vs code git 编辑器中拉取(pull) 的时候报错 [rejected] v1.0.0 -> v1.0.0 (would clobber existing tag)
- mysql 1449 问题
- NetSpeed--网速检测
- 2019河南对口升学高考试卷计算机专业课,2019河南对口升学高考试卷计算机专业课-9页word资料...
- 数据库概述09(数据库中的锁机制)
- java即时通讯框架_Spring Boot 开发私有即时通信系统(WebSocket)
- 微信地图wgs84坐标,gcj02坐标,bd09坐标转换
- 【网络教程】群晖安装甜糖最新教程,手把手教您在Docker中安装官方甜糖
- 如何编写好的代码/成为一个更好的程序员
- 什么是token?Android中token的使用讲解
- gt800打印测试软件,zebra GT800 高级桌面条码标签打印机
- 今日免费PNG图标集下载 - SweetiePlus
热门文章
- 【240行拿下】基于C语言 实现通讯录管理系统 带文件保存及读取功能
- 深入理解Java线程的调度策略
- 十六进制颜色码转换成RGB颜色值
- 阿里取消周报,打击低效加班!HR透露6大原因!
- 【单片机笔记】使用ESP8266的WIFI-MQTT串口透传模块实现TLINK平台测试
- InterValue项目周报:20190318-20190324
- ankidroid记忆卡片android,AnkiDroid
- vue3 vite ts引入vue文件报错 ts(2307)
- wordpress账号无法登陆_Wordpress无法登陆终极解决方案
- 通过Python的pdfplumber库将pdf转为图片