用t-SNE可视化特征,查看特征的可分性

2024-06-14 21:32

本文主要是介绍用t-SNE可视化特征,查看特征的可分性,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

用t-SNE可视化特征,查看特征的可分性


t-SNE是一个很好的可视化工具,这里备份一个用t-SNE可视化特征的例子,以便今后有需要查询使用

import numpy as np
import matplotlib.pyplot as plt
import json
from sklearn import manifold
%matplotlib inline
def draw_tsne(emb_filename):model = json.load(open(emb_filename,'r')) X = np.array(model['features'])y = np.array(model['label'])'''t-SNE'''tsne = manifold.TSNE(n_components=2, init='pca', random_state=501)X_tsne = tsne.fit_transform(X)print(X.shape)print(X_tsne.shape)print(y.shape)print("Org data dimension is {}.Embedded data dimension is {}".format(X.shape[-1], X_tsne.shape[-1]))'''嵌入空间可视化'''x_min, x_max = X_tsne.min(0), X_tsne.max(0)X_norm = (X_tsne - x_min) / (x_max - x_min)  # 归一化plt.figure(figsize=(8, 8))for i in range(X_norm.shape[0]):plt.text(X_norm[i, 0], X_norm[i, 1], '*', color=plt.cm.Set1(y[i]), fontdict={'weight': 'bold', 'size': 18})plt.xticks([])plt.yticks([])plt.show()emb_filename = ("Algorithms-Test/show/show_DRML_AU12.json")
draw_tsne(emb_filename)

输出结果如下所示:
在这里插入图片描述
说明:
我的show_DRML_AU12.json中features存储fc输出的特征,label为0或者1代表是否出现AU12
可以看到:

print(X.shape)
print(X_tsne.shape)
print(y.shape)

的结果分别是:

(200, 192)
(200, 2)
(200,)

所以我是200张图片,特征提取维度是192,降维后变成2维。

参考文献 :
【1】https://scikit-learn.org/stable/modules/manifold.html#t-distributed-stochastic-neighbor-embedding-t-sne
【2】https://blog.csdn.net/hustqb/article/details/80628721

这篇关于用t-SNE可视化特征,查看特征的可分性的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1061563

相关文章

Python如何使用seleniumwire接管Chrome查看控制台中参数

《Python如何使用seleniumwire接管Chrome查看控制台中参数》文章介绍了如何使用Python的seleniumwire库来接管Chrome浏览器,并通过控制台查看接口参数,本文给大家... 1、cmd打开控制台,启动谷歌并制定端口号,找不到文件的加环境变量chrome.exe --rem

Debian如何查看系统版本? 7种轻松查看Debian版本信息的实用方法

《Debian如何查看系统版本?7种轻松查看Debian版本信息的实用方法》Debian是一个广泛使用的Linux发行版,用户有时需要查看其版本信息以进行系统管理、故障排除或兼容性检查,在Debia... 作为最受欢迎的 linux 发行版之一,Debian 的版本信息在日常使用和系统维护中起着至关重要的作

Python中的可视化设计与UI界面实现

《Python中的可视化设计与UI界面实现》本文介绍了如何使用Python创建用户界面(UI),包括使用Tkinter、PyQt、Kivy等库进行基本窗口、动态图表和动画效果的实现,通过示例代码,展示... 目录从像素到界面:python带你玩转UI设计示例:使用Tkinter创建一个简单的窗口绘图魔法:用

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Oracle数据库执行计划的查看与分析技巧

《Oracle数据库执行计划的查看与分析技巧》在Oracle数据库中,执行计划能够帮助我们深入了解SQL语句在数据库内部的执行细节,进而优化查询性能、提升系统效率,执行计划是Oracle数据库优化器为... 目录一、什么是执行计划二、查看执行计划的方法(一)使用 EXPLAIN PLAN 命令(二)通过 S

flume系列之:查看flume系统日志、查看统计flume日志类型、查看flume日志

遍历指定目录下多个文件查找指定内容 服务器系统日志会记录flume相关日志 cat /var/log/messages |grep -i oom 查找系统日志中关于flume的指定日志 import osdef search_string_in_files(directory, search_string):count = 0

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

OmniGlue论文详解(特征匹配)

OmniGlue论文详解(特征匹配) 摘要1. 引言2. 相关工作2.1. 广义局部特征匹配2.2. 稀疏可学习匹配2.3. 半稠密可学习匹配2.4. 与其他图像表示匹配 3. OmniGlue3.1. 模型概述3.2. OmniGlue 细节3.2.1. 特征提取3.2.2. 利用DINOv2构建图形。3.2.3. 信息传播与新的指导3.2.4. 匹配层和损失函数3.2.5. 与Super

Python:豆瓣电影商业数据分析-爬取全数据【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】

**爬取豆瓣电影信息,分析近年电影行业的发展情况** 本文是完整的数据分析展现,代码有完整版,包含豆瓣电影爬取的具体方式【附带爬虫豆瓣,数据处理过程,数据分析,可视化,以及完整PPT报告】   最近MBA在学习《商业数据分析》,大实训作业给了数据要进行数据分析,所以先拿豆瓣电影练练手,网络上爬取豆瓣电影TOP250较多,但对于豆瓣电影全数据的爬取教程很少,所以我自己做一版。 目

Linux命令(11):系统信息查看命令

系统 # uname -a # 查看内核/操作系统/CPU信息# head -n 1 /etc/issue # 查看操作系统版本# cat /proc/cpuinfo # 查看CPU信息# hostname # 查看计算机名# lspci -tv # 列出所有PCI设备# lsusb -tv