用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可视化特征,查看特征的可分性相关推荐
- 【机器学习】改善LBP特征提高SVM的可分性的经验总结(二)
1.直方图均衡后,效果变差 equalizeHist(testImg, testImg); //直方图均衡 imshow("直方图均衡后", testImg); 结论:由于直方图均 ...
- 【机器学习】改善LBP特征提高SVM的可分性的经验总结(一)
1.等价模式LBP的最初效果 正样本2343,负样本5883,直接计算等价模式LBP特征图,再使用SVM训练一个分类器. CvTermCriteria criteria = cvTermCriteri ...
- 【模式识别】特征评价和可分性判据实验报告及MATLAB仿真
一. 实验目的 1.掌握几种常用的特征评价方法和可分性判据: 2.解图像阈值分割中几种确定阈值的方法. 二. 实验原理 假设图像中出现的最大灰度级为m,阈值为g,目标部分灰度均值为mean1,像素数占 ...
- Python机器学习:plot_importance()查看特征重要度
lightgmb算法里面的plot_importance()方法支持特征重要度的查看,下面将以lightgmb算法为例将特征重要度可视化展示出来.另外xgboost算法的实现也几乎一样哦. 事先准备好 ...
- R语言使用randomForest包构建随机森林模型(Random forests)、使用importance函数查看特征重要度、使用table函数计算混淆矩阵评估分类模型性能、包外错误估计OOB
R语言使用randomForest包中的randomForest函数构建随机森林模型(Random forests).使用importance函数查看特征重要度.使用table函数计算混淆矩阵评估分类 ...
- pytorch中使用TensorBoard进行可视化Loss及特征图
pytorch中使用TensorBoard进行可视化Loss及特征图 安装导入TensorBoard 安装TensorBoard pip install tensorboard 导入TensorBoa ...
- Caffe版Faster R-CNN可视化——网络模型,图像特征,Loss图,PR曲线
可视化网络模型 Caffe目前有两种常用的可视化模型方式: 使用Netscope在线可视化 Caffe代码包内置的draw_net.py文件可以可视化网络模型 Netscope能可视化神经网络体系 ...
- Python计算树模型(随机森林、xgboost等)的特征重要度及其波动程度:基于熵减的特征重要度计算及可视化、基于特征排列的特征重要性(feature permutation)计算及可视化
Python计算树模型(随机森林.xgboost等)的特征重要度及其波动程度:基于熵减的特征重要度计算及可视化.基于特征排列的特征重要性(feature permutation)计算及可视化 目录
- pcl点云特征提取 法线估计 PFH FPFH NARF 惯量偏心矩 RoPs特征 视点特征直方图VFH GASD特征
pcl点云特征提取 法线估计 PFH FPFH NARF 惯量偏心矩 RoPs特征 视点特征直方图VFH GASD特征 博文末尾支持二维码赞赏哦 _ 如果要对一个三维点云进行描述,光有点云的位置是 ...
最新文章
- React、Vue、Angular对比 ---- 介绍及优缺点
- 桃李春蛋糕的配料之一 - 蛋糕预拌粉
- python建立py文件夹过程_Pycharm创建python文件自动添加日期作者等信息(步骤详解)...
- java多线程论文_Java5 多线程之入门篇-论文
- 试试给对象这样赋值吧
- 基于JAVA+Servlet+JSP+MYSQL的学生选课管理系统
- 翻译pdf中的英文 python_浅谈python实现Google翻译PDF,解决换行的问题
- Hello HarmonyOS,HarmonyOS鸿蒙实现HelloWorld应用开发E2E体验
- Android项目快速开发框架探索(Mysql + OrmLite + Hessian + Sqlite)
- Cameralink视频数据信号
- 黑鲨给电脑重装系统的详细步骤
- 08 干系人管理ITO
- 《周一清晨的领导课》--司机与乘客 - [读书笔记]
- 驾驶习惯也能识人?基于时空孪生神经网络的轨迹识别
- 逆转线性链表的算法c语言,pta-数据结构与算法题目集(中文)-4-1-单链表逆转...
- 「万达董事会大换血」背后 | 一点财经
- 面向初学者的 MQL4 语言系列之4——自定义指标
- cmake(13):构建时设置预处理宏定义以及add_compile_definitions命令详解
- 用行列式的定义方法求解n阶行列式的值(C++)
- 特斯拉看位置说服务器错误,特斯拉App惊现大面积宕机!车主集体发飙,官方处理太弱智了...