如何在python中为t-SNE添加标签(How to add labels to t-SNE in python)

我正在使用t-SNE来搜索具有七个特征的数据集上的关系。

我正在使用字典将颜色分配给情节中的y标签:

encoding = {'d0': 0, 'd1': 1, 'd2': 2, 'd3': 3, 'd4': 4, 'd5': 5, 'd6': 6, 'd7': 7}

plt.scatter(X_tsne[:, 0], X_tsne[:, 1], c=y['label'].apply(lambda x: city_encoding[x]))

plt.show()

这里的问题是不清楚哪种颜色对应于哪个标签。 数据集实际上有超过100个标签,所以这不是我想手动处理的东西。

I'm using t-SNE to searching for relations on a dataset which have seven features.

I'm using a dictionary to assing colors to the y labels on the plot:

encoding = {'d0': 0, 'd1': 1, 'd2': 2, 'd3': 3, 'd4': 4, 'd5': 5, 'd6': 6, 'd7': 7}

plt.scatter(X_tsne[:, 0], X_tsne[:, 1], c=y['label'].apply(lambda x: city_encoding[x]))

plt.show()

The problem here is that is not clear which color corresponds to which label. The dataset actually has over 100 labels, so it's not something I'd like to handle manually.

原文:https://stackoverflow.com/questions/46819664

更新时间:2019-12-10 15:59

最满意答案

您可以在相同的轴上单独绘制每个类别,并让Matplotlib生成颜色和图例:

fig, ax = plt.subplots()

groups = pd.DataFrame(X_tsne, columns=['x', 'y']).assign(category=y).groupby('category')

for name, points in groups:

ax.scatter(points.x, points.y, label=name)

ax.legend()

对于随机生成的X ,这给出了

You can plot each category separately on the same axes, and let Matplotlib generate the colors and legend:

fig, ax = plt.subplots()

groups = pd.DataFrame(X_tsne, columns=['x', 'y']).assign(category=y).groupby('category')

for name, points in groups:

ax.scatter(points.x, points.y, label=name)

ax.legend()

For randomly generated X, this gives

2017-10-18

相关问答

为组合框创建一个项类,声明它是否是可选项。 (您还可以为此添加其他有用的API,例如它所代表的时间量的方便访问器。) 然后使用一个单元工厂来禁用表示不可选项的单元格: import javafx.application.Application;

import javafx.scene.Scene;

import javafx.scene.control.ComboBox;

import javafx.scene.control.ListCell;

import javafx.scene.layou

...

我认为最简单/最干净的ggplot方法是将所有需要的信息存储在data.frame ,然后绘制它。 从上面粘贴的代码中,这应该有效: library(ggplot2)

tsne_plot

ggplot(tsne_plot) + geom_point(aes(x=x, y=y, color=col))

我使用常规plot功能的plot是:

...

检查它会做的伎俩: from bokeh.plotting import figure, ColumnDataSource, output_notebook, show

from bokeh.models import HoverTool, WheelZoomTool, PanTool, BoxZoomTool, ResetTool, TapTool, SaveTool

from bokeh.palettes import brewer

output_notebook()

#preproces

...

您可以在相同的轴上单独绘制每个类别,并让Matplotlib生成颜色和图例: fig, ax = plt.subplots()

groups = pd.DataFrame(X_tsne, columns=['x', 'y']).assign(category=y).groupby('category')

for name, points in groups:

ax.scatter(points.x, points.y, label=name)

ax.legend()

对于随机生成的X

...

由于您的node_list由整数组成,因此您的节点将这些整数的字符串表示形式作为标签。 但是你的节点可以是任何可哈希对象,而不仅仅是整数。 所以最简单的做法是让你的node_list成为parlist项目的字符串表示。 ( parlist中的项是列表,这些列表是可变的,因此不可parlist ,这就是为什么我们不能只使用parlist作为我们的node_list 。) 还有一个函数nx.relabel_nodes ,我们可以用它来代替,但我认为只要给节点首先放置正确的标签就简单了。 import

...

来自作者本人( https://lvdmaaten.github.io/tsne/ ): 一旦我有了t-SNE地图,我怎样才能在该地图中嵌入传入的测试点? t-SNE学习非参数映射,这意味着它不会学习将输入空间中的数据映射到映射的显式函数。 因此,不可能在现有地图中嵌入测试点(尽管您可以在整个数据集上重新运行t-SNE)。 处理这个问题的一种可能的方法是训练一个多变量回归器以根据输入数据预测地图位置。 或者,你也可以让这样一个回归者直接减少t-SNE的损失,这正是我在本文中所做的( https:/

...

你有一个错字; 它应该是ax.set_xticks(xinterval) ,没有= 。 不需要set_xticklabels命令。 You have a typo; it's supposed to be ax.set_xticks(xinterval), without the =. No need for the set_xticklabels command.

维基百科没有将t-sne归类为监督学习,而是将维度降低(现在我正在写答案)。 而且,据我所知,它根本不是一种监督方法。 其目的是简化数据可视化,降低维度,还可以用作聚类技术( 无监督分类)。 Wikipedia does not classify t-sne as supervised learning but as dimensionality reduction (at the moment I am writing the answer). And, as far as I know, it

...

是的,有一个并行版本的t-SNE的barnes-hutt实现。 https://github.com/DmitryUlyanov/Multicore-TSNE 现在还有一种新的tSNE实现,它使用快速傅立叶变换函数来显着加速卷积步骤。 它还使用ANNOY库来执行最近邻搜索,默认的基于树的方法也在那里,并且都利用并行处理。 原始代码可在此处获取: https : //github.com/KlugerLab/FIt-SNE 和R包版本: https : //github.com/JulianSpag

...

对于标签,请尝试注释。 你必须计算四分位数并且意味着自己定位标签。 简单的例子: import plotly.plotly as py

from plotly.graph_objs import *

data = Data([

Box(

y=[0, 1, 1, 2, 3, 5, 8, 13, 21],

boxpoints='all',

jitter=0.3,

pointpos=-1.8

)

])

layout = L

...

python如何添加标签_如何在python中为t-SNE添加标签(How to add labels to t-SNE in python)...相关推荐

  1. python绘图背景透明_如何在 Matplotlib 中更改绘图背景

    介绍Matplotlib是Python中使用最广泛的数据可视化库之一.无论是简单还是复杂的可视化项目,它都是大多数人的首选库.在本教程中,我们将研究如何在Matplotlib中更改绘图的背景.导入数据 ...

  2. python的loc函数_如何在pandas中使用loc、iloc函数进行数据索引(入门篇)

    在数据分析过程中,很多时候我们需要从数据表中提取出我们需要的部分,而这么做的前提是我们需要先索引出这一部分数据.今天我们就来探索一下,如何在pandas中使用loc函数和iloc函数索引数据. 今天我 ...

  3. python 运行r语言_如何在R中运行Python

    python 运行r语言 尽管我很喜欢R,但很显然Python还是一种很棒的语言-既适用于数据科学又适用于通用计算. R用户想要在Python中做一些事情可能有充分的理由. 也许这是一个很棒的库,还没 ...

  4. python捕获所有异常状态_如何在scrapy中捕获并处理各种异常

    前言 使用scrapy进行大型爬取任务的时候(爬取耗时以天为单位),无论主机网速多好,爬完之后总会发现scrapy日志中"item_scraped_count"不等于预先的种子数量 ...

  5. wordpress添加媒体_如何在WordPress中添加新帖子并利用所有功能

    wordpress添加媒体 Are you trying to create a new post in WordPress? Do you want to learn about all the W ...

  6. wordpress添加媒体_如何在WordPress中添加精选内容滑块

    wordpress添加媒体 Do you want to add a featured content slider like Yahoo or ESPN? Many popular sites us ...

  7. wordpress添加媒体_如何在WordPress中添加jQuery FAQ手风琴

    wordpress添加媒体 Recently one of our users asked us if there was a way for them to add a FAQ accordion ...

  8. wordpress添加媒体_如何在WordPress中添加社交媒体共享计数小部件

    wordpress添加媒体 Earlier on this blog, we created a Social Media Cheat Sheet for WordPress, but that on ...

  9. wordpress添加媒体_如何在WordPress中添加电子书下载

    wordpress添加媒体 Do you want to add ebook downloads to your WordPress site? WordPress makes it easy for ...

  10. wordpress标签云_如何在WordPress中建立更好的标签云

    wordpress标签云 Once you've defined a great set of tags for your WordPress posts (or pages), you'll wan ...

最新文章

  1. Ubuntu安装Beyond-Compare 4
  2. CentOS系统代理配置
  3. SharePoint 2010 - 如何导入\导出WebPart
  4. 使用fuse.js_如何使用Fuse.js将搜索添加到React应用
  5. 指令系统——数据寻址(1)(详解)
  6. DPDK examples ethtool-app完全注释
  7. 从Oracle向PPAS移行不成功时的处理
  8. C++字节存储方式和reinterpret_cast
  9. 浏览器中js的变量取名
  10. 冯诺依曼结构和哈佛结构
  11. 如何在YouTube上制作播放列表
  12. 3元特卖好课AngularJs基础视频教程 大漠穷秋AngularJs基础教程 AngularJs入门教程
  13. Golang如何正确的停止Ticker
  14. 华硕ASUS手机平板官方刷机包raw格式解压修改工具
  15. python 发送QQ邮箱
  16. tshark 使用说明
  17. 知道创宇研发技能表v3.1
  18. 【Golang之路】——slice总结
  19. python如何绘制条形图_python Matplotlib 系列教程(三)——绘制直方图和条形图
  20. 无源波分和彩光模块_易飞扬彩光模块百科

热门文章

  1. 一步步打造自己的通用上拉加载布局
  2. 什么是传统企业电商洪水围城下的诺亚方舟
  3. 2021年3月世界编程语言排行榜
  4. A+B Problem——经典中的经典
  5. 在Vue中如何缓存页面
  6. error occurred during initialization of VM报错解决
  7. 用知识图谱解读抑郁症——树洞
  8. 网络就好似一个个树洞
  9. java 笔画排序_Java汉字排序(3)按笔划排序
  10. mysql distance_MySql中的一些小坑