用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可视化特征,查看特征的可分性相关推荐

  1. 【机器学习】改善LBP特征提高SVM的可分性的经验总结(二)

    1.直方图均衡后,效果变差 equalizeHist(testImg, testImg); //直方图均衡 imshow("直方图均衡后", testImg); 结论:由于直方图均 ...

  2. 【机器学习】改善LBP特征提高SVM的可分性的经验总结(一)

    1.等价模式LBP的最初效果 正样本2343,负样本5883,直接计算等价模式LBP特征图,再使用SVM训练一个分类器. CvTermCriteria criteria = cvTermCriteri ...

  3. 【模式识别】特征评价和可分性判据实验报告及MATLAB仿真

    一. 实验目的 1.掌握几种常用的特征评价方法和可分性判据: 2.解图像阈值分割中几种确定阈值的方法. 二. 实验原理 假设图像中出现的最大灰度级为m,阈值为g,目标部分灰度均值为mean1,像素数占 ...

  4. Python机器学习:plot_importance()查看特征重要度

    lightgmb算法里面的plot_importance()方法支持特征重要度的查看,下面将以lightgmb算法为例将特征重要度可视化展示出来.另外xgboost算法的实现也几乎一样哦. 事先准备好 ...

  5. R语言使用randomForest包构建随机森林模型(Random forests)、使用importance函数查看特征重要度、使用table函数计算混淆矩阵评估分类模型性能、包外错误估计OOB

    R语言使用randomForest包中的randomForest函数构建随机森林模型(Random forests).使用importance函数查看特征重要度.使用table函数计算混淆矩阵评估分类 ...

  6. pytorch中使用TensorBoard进行可视化Loss及特征图

    pytorch中使用TensorBoard进行可视化Loss及特征图 安装导入TensorBoard 安装TensorBoard pip install tensorboard 导入TensorBoa ...

  7. Caffe版Faster R-CNN可视化——网络模型,图像特征,Loss图,PR曲线

    可视化网络模型   Caffe目前有两种常用的可视化模型方式: 使用Netscope在线可视化 Caffe代码包内置的draw_net.py文件可以可视化网络模型 Netscope能可视化神经网络体系 ...

  8. Python计算树模型(随机森林、xgboost等)的特征重要度及其波动程度:基于熵减的特征重要度计算及可视化、基于特征排列的特征重要性(feature permutation)计算及可视化

    Python计算树模型(随机森林.xgboost等)的特征重要度及其波动程度:基于熵减的特征重要度计算及可视化.基于特征排列的特征重要性(feature permutation)计算及可视化 目录

  9. pcl点云特征提取 法线估计 PFH FPFH NARF 惯量偏心矩 RoPs特征 视点特征直方图VFH GASD特征

    pcl点云特征提取 法线估计 PFH FPFH NARF 惯量偏心矩  RoPs特征  视点特征直方图VFH GASD特征 博文末尾支持二维码赞赏哦 _ 如果要对一个三维点云进行描述,光有点云的位置是 ...

最新文章

  1. React、Vue、Angular对比 ---- 介绍及优缺点
  2. 桃李春蛋糕的配料之一 - 蛋糕预拌粉
  3. python建立py文件夹过程_Pycharm创建python文件自动添加日期作者等信息(步骤详解)...
  4. java多线程论文_Java5 多线程之入门篇-论文
  5. 试试给对象这样赋值吧
  6. 基于JAVA+Servlet+JSP+MYSQL的学生选课管理系统
  7. 翻译pdf中的英文 python_浅谈python实现Google翻译PDF,解决换行的问题
  8. Hello HarmonyOS,HarmonyOS鸿蒙实现HelloWorld应用开发E2E体验
  9. Android项目快速开发框架探索(Mysql + OrmLite + Hessian + Sqlite)
  10. Cameralink视频数据信号
  11. 黑鲨给电脑重装系统的详细步骤
  12. 08 干系人管理ITO
  13. 《周一清晨的领导课》--司机与乘客 - [读书笔记]
  14. 驾驶习惯也能识人?基于时空孪生神经网络的轨迹识别
  15. 逆转线性链表的算法c语言,pta-数据结构与算法题目集(中文)-4-1-单链表逆转...
  16. 「万达董事会大换血」背后 | 一点财经
  17. 面向初学者的 MQL4 语言系列之4——自定义指标
  18. cmake(13):构建时设置预处理宏定义以及add_compile_definitions命令详解
  19. 用行列式的定义方法求解n阶行列式的值(C++)
  20. 特斯拉看位置说服务器错误,特斯拉App惊现大面积宕机!车主集体发飙,官方处理太弱智了...

热门文章

  1. 2021年SIEM魔力象限领导者-Exabeam
  2. 防掉线、防脱发的异步高性能Python Web框架
  3. linux中字体大小可以改吗,在linux中,如何设置字体大小?
  4. os idea破解相关
  5. 索尼PSN网络恢复上线 但部分用户仍无法游戏
  6. 移动web开发入门—基础知识、自适应布局、调试
  7. 教你如何快速了解CAD模具设计的流程
  8. 计算机操作员 国家题库,计算机操作员中最新国家题库基础知识部分.doc
  9. jstack 线程状态
  10. ceph 的pg诊断