首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >R|UpSet-集合可视化

R|UpSet-集合可视化

作者头像
生信补给站
发布于 2020-08-06 02:48:35
发布于 2020-08-06 02:48:35
1.4K00
代码可运行
举报
文章被收录于专栏:生信补给站生信补给站
运行总次数:0
代码可运行

介绍一个R包UpSetR,专门用来集合可视化,当多集合的韦恩图不容易看的时候,就是它大展身手的时候了。

一、R包及数据

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#安装及加载R包
#install.packages("UpSetR")
library(UpSetR)
#载入数据集
data <- read.csv("upSet.csv",header=TRUE)
#先大致浏览一下该数据集,数据集太长,就只看前几列
head(data[,1:6],6)
#View(data) #弹出窗口,可查看数据

二、upset()函数

使用UpsetR包里面的upset()函数绘制集合可视化图形。

1)基本参数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
upset(data,
sets = c("Action", "Adventure", "Comedy", "Drama", "Fantasy" , "Children","Crime"),#查看特定的几个集合
mb.ratio = c(0.55, 0.45),#控制上方条形图以及下方点图的比例
order.by = "freq", #如何排序,这里freq表示从大到小排序展示
keep.order = TRUE, #keep.order按照sets参数的顺序排序
number.angles = 30, #调整柱形图上数字角度
point.size = 2, line.size = 1, #点和线的大小
mainbar.y.label = "Genre Intersections", sets.x.label = "Movies Per Genre", #坐标轴名称
text.scale = c(1.3, 1.3, 1, 1, 1.5, 1)) #六个数字,分别控制c(intersection size title, intersection size tick labels, set size title, set size tick labels, set names, numbers above bars)

2)queries参数

queries参数分为四个部分:query, param, color, active;

query: 指定哪个query,UpSetR有内置,也可以自定义;

param: list, query作用于哪个交集

color:每个query都是一个list,里面可以设置颜色,没设置的话将调用包里默认的调色板;

active:被指定的条形图:TRUE显示颜色,FALSE在条形图顶端显示三角形;

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
upset(data, main.bar.color = "black",
queries = list(list(query = intersects,   #UpSetR 内置的intersects query
params = list("Drama"), ##指定作用的交集
color = "red", ##设置颜色,未设置会调用默认调色板
active = F,   # TRUE:条形图被颜色覆盖,FALSE:条形图顶端显示三角形
query.name = "Drama"), # 添加query图例
list(query = intersects,  params = list("Action", "Drama"), active = T,query.name = "Emotional action"),
list(query = intersects,  params = list("Drama", "Comedy", "Action"), color = "orange", active = T)),query.legend = "top")

3)attribute.plots参数

添加属性图,内置有柱形图、散点图、热图等

3.1 添加柱形图和散点图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
upset(data, main.bar.color = "black",
queries = list(list(query = intersects, params = list("Drama"), color = "red",
active = F,  query.name = "Drama"),
list(query = intersects,  params = list("Action", "Drama"), active = T,query.name = "Emotional action"),
list(query = intersects,  params = list("Drama", "Comedy", "Action"), color = "orange", active = T)),  
attribute.plots = list(gridrows = 45, #添加属性图
plots = list(
list(plot = scatter_plot, #散点图
x = "ReleaseDate", y = "AvgRating", #横纵轴的变量
queries = T), #T 则显示出上面queries定义的颜色
list(plot = histogram, x = "ReleaseDate", queries = F)),
ncols = 2), # 添加的图分两列
query.legend = "top") #query图例在最上方

3.2 添加箱线图

每次最多添加两个箱线图

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
upset(movies, boxplot.summary = c("AvgRating", "ReleaseDate"))

3.3 添加密度曲线图

因默认属性图中没有密度曲线,需要自定义plot函数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#自定义密度曲线
another.plot <- function(data, x, y) {
   data$decades <- round_any(as.integer(unlist(data[y])), 10, ceiling)
   data <- data[which(data$decades >= 1970), ]
   myplot <- (ggplot(data, aes_string(x = x)) + geom_density(aes(fill = factor(decades)),
       alpha = 0.4) + theme(plot.margin = unit(c(0, 0, 0, 0), "cm"), legend.key.size = unit(0.4, "cm")))
}
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
upset(data, main.bar.color = "black", mb.ratio = c(0.5, 0.5), queries = list(list(query = intersects,
   params = list("Drama"), color = "red", active = F), list(query = intersects,
   params = list("Action", "Drama"), active = T), list(query = intersects,
   params = list("Drama", "Comedy", "Action"), color = "orange", active = T)),
   attribute.plots = list(gridrows = 50, plots = list(list(plot = histogram,
       x = "ReleaseDate", queries = F), list(plot = scatter_plot, x = "ReleaseDate",
       y = "AvgRating", queries = T), list(plot = another.plot, x = "AvgRating",
       y = "ReleaseDate", queries = F)), ncols = 3))

三、参考资料

hms-dbmi/UpSetR

Index of /web/packages/UpSetR/vignettes

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-04-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信补给站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
浅谈深度学习模型量化
【导读】本次简要的总结了模型量化研究的一些问题,介绍了量化存在的量化误差与其总体上解决量化误差的一些方法。主要讨论了5种非线性量化的方法。
LoBob
2021/06/06
1.4K0
深度学习Int8的部署推理原理和经验验证
论文出处:《Integer Quantization for Deep Learning Inference Principles and Empirical Evaluation》 时间:2020.April 单位:NVIDIA
BBuf
2022/05/27
2.2K0
深度学习Int8的部署推理原理和经验验证
二值网络训练--A Empirical Study of Binary Neural Networks' Optimisation
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangjunhit/article/details/90409501
用户1148525
2019/05/27
8070
INT4量化用于目标检测
【GiantPandaCV】文章2019 CVPR,讲的是Int 4量化用于目标检测,主要是工程化的一些trick。
BBuf
2021/03/24
1.1K0
INT4量化用于目标检测
解决LLaMA、BERT等部署难题:首个4-bit浮点量化LLM来了
大语言模型 (LLM) 压缩一直备受关注,后训练量化(Post-training Quantization) 是其中一种常用算法,但是现有 PTQ 方法大多数都是 integer 量化,且当比特数低于 8 时,量化后模型的准确率会下降非常多。想较于 Integer (INT) 量化,Floating Point (FP) 量化能更好的表示长尾分布,因而越来越多的硬件平台开始支持 FP 量化。而这篇文章给出了大模型 FP 量化的解决方案。文章发表在 EMNLP 2023 上。
机器之心
2023/11/18
3830
解决LLaMA、BERT等部署难题:首个4-bit浮点量化LLM来了
二值网络训练--Training Competitive Binary Neural Networks from Scratch
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhangjunhit/article/details/90373566
用户1148525
2019/05/28
5660
深度学习框架落地 | 量化网络的重要性(附源码地址下载)
在实验阶段对于模型结构可以选择大模型,因为该阶段主要是为了验证方法的有效性。在验证完了之后,开始着手部署到移动端,这时候就要精简模型的结构了,一般是对训好的大模型进行剪枝,或者参考现有的比如MobileNetV2和ShuffleNetV2等轻量级的网络重新设计自己的网络模块。而算法层面的优化除了剪枝还有量化,量化就是把浮点数(高精度)表示的权值和激活值用更低精度的整数来近似表示。低精度的优点有,相比于高精度算术运算,其在单位时间内能处理更多的数据,而且权值量化之后模型的存储空间能进一步的减少等等。
计算机视觉研究院
2021/01/14
1.1K0
深度学习框架落地 | 量化网络的重要性(附源码地址下载)
CVPR 2021 | LCQ:基于低比特量化精度提升的可学习压扩量化方法
量化深度神经网络是一种有效的减少内存消耗和提高推理速度的方法,因此适用于资源受限的设备。然而,极低位模型仍然很难达到与全精度模型相当的精度。为了解决这个问题,本文提出了可学习扩展量化 (LCQ) 作为一种新的非均匀量化方法用于 2-bit、3-bit 和 4-bit 模型量化。LCQ 联合优化模型权重和可学习的压扩函数,这些函数可以灵活而非均匀地控制权值和激活的量化级别。本文还提出了一种新的权重归一化技术,允许更稳定的量化训练。实验结果表明,在图像分类和目标检测任务中,LCQ 优于传统最先进的方法,缩小了量化模型和全精度模型之间的差距。值得注意的是,ImageNet 上的2-bit ResNet-50 模型达到了最高的 75.1% 的精度,并将差距缩小到 1.7% ,使 LCQ 能够进一步挖掘非均匀量化的潜力。
AI异构
2021/04/13
2.6K0
CVPR 2021 | LCQ:基于低比特量化精度提升的可学习压扩量化方法
卷积神经网络训练模拟量化实践
深度学习在移动端的应用是越来越广泛,由于移动端的运算力与服务器相比还是有差距,
Ldpe2G
2019/01/13
1.8K0
低精度只适用于未充分训练的LLM?腾讯提出LLM量化的scaling laws
本文来自腾讯 AI Lab,介绍了一套针对于低比特量化的 scaling laws。
机器之心
2025/02/15
1290
低精度只适用于未充分训练的LLM?腾讯提出LLM量化的scaling laws
大规模神经网络最新文献综述:训练高效DNN、节省内存使用、优化器设计
选自arXiv 作者:Julia Gusak等 机器之心编译 编辑:杜伟、泽南 在本综述论文中,研究者解释了不同技术的工作原理、评估和比较,还分析了一些实现这些技术的框架。 现代深度学习和人工智能技术的发展涉及使用深度神经网络(DNN)来解决图像、视频、音频、自然语言处理、图像形式的内容生成等各种问题,或生成给定格式主题的文本等任务。 俄罗斯斯科尔科沃科学技术研究所、法国里尔大学、波尔多大学、Inria 等科研机构联合发表了一篇论文《Survey on Large Scale Neural Network
机器之心
2022/04/06
3040
大规模神经网络最新文献综述:训练高效DNN、节省内存使用、优化器设计
大模型落地的必经之路 | GPTQ加速LLM落地,让Transformer量化落地不再困难
来自Transformer家族的预训练生成模型,通常被称为GPT或OPT,已经在复杂语言建模任务中取得了突破性的性能,引起了广泛的学术和实际兴趣。它们的一个主要障碍是计算和存储成本,这些成本在已知模型中排名最高。例如,性能最好的模型变种,例如GPT3-175B,具有约1750亿参数,需要数十到数百个GPU年进行训练。甚至在作者本文中,对预训练模型进行推理的更简单任务也非常具有挑战性:例如,以紧凑的FP16格式存储时,GPT3-175B的参数占用326GB的内存。这超出了甚至最高端的单个GPU的容量,因此推理必须使用更复杂和昂贵的设置,如多GPU部署。
集智书童公众号
2023/11/15
1.3K0
大模型落地的必经之路 | GPTQ加速LLM落地,让Transformer量化落地不再困难
【LLM训练系列01】Qlora如何加载、训练、合并大模型
参考脚本:https://github.com/QwenLM/Qwen/blob/main/recipes/finetune/deepspeed/finetune_qlora_multi_gpu.ipynb
致Great
2024/11/23
4360
【LLM训练系列01】Qlora如何加载、训练、合并大模型
MXNet实现卷积神经网络训练量化
深度学习在移动端的应用是越来越广泛,由于移动端的运算力与服务器相比还是有差距,所以在移动端部署深度学习模型的难点就在于如何保证模型效果的同时,运行效率也有保证。
BBuf
2020/03/20
1.2K0
MXNet实现卷积神经网络训练量化
大模型微调新手全流程友好指南
关于大模型微调的文章已经写过有两篇:大模型微调与RAG检索增强有何区别?从基础原理到案例分析全面详解和一文带你了解大模型微调的前世今生,基础概率和理论原理内容基本上都涵盖全面,因此本篇文件不做过多的原理解释说明,主要聚焦于大模型微调的实战和各个代码功能模块细节的讲解。
fanstuck
2025/04/30
1.2K7
大模型微调新手全流程友好指南
8比特数值也能训练模型?商汤提训练加速新算法丨CVPR 2020
在CVPR 2020上,商汤研究院链接与编译团队、高性能计算团队和北航刘祥龙老师团队合作提出了用于加速卷积神经网络训练过程的INT8训练技术。该工作通过将网络的输入、权重和梯度量化到8比特来加速网络的前向传播和反向传播过程,缩短卷积神经网络训练时间。
AI科技大本营
2020/04/14
1.6K0
加速AGI落地!使用4-bit整数训练Transformer,比FP16快2.2倍,提速35.1%
论文地址:https://arxiv.org/pdf/2306.11987.pdf
计算机视觉研究院
2023/08/24
3540
加速AGI落地!使用4-bit整数训练Transformer,比FP16快2.2倍,提速35.1%
深度学习算法优化系列三 | Google CVPR2018 int8量化算法
这是Google在CVPR 2018上发表的一篇int8量化的论文,题目为《Quantization and Training of Neural Networks for Efficient Integer-Arithmetic-Only Inference》。也是入门量化最经典的论文之一。论文介绍了一种只使用整数运算的量化方式,相比于浮点数运算效率更高。一起先来看看这篇论文吧。论文的axriv地址可以在附录中找到。
BBuf
2019/12/27
2.8K0
深度学习算法优化系列三 | Google CVPR2018 int8量化算法
深度网络数据编码新突破,上交大SPARK登上计算机体系结构顶会
随着深度神经网络(DNNs)模型在规模和复杂性上的迅速增长,传统的神经网络处理方法面临着严峻的挑战。现有的神经网络压缩技术在处理参数规模大、精度要求高的神经网络模型时效率低下,无法满足现有应用的需求。
机器之心
2024/01/04
3070
深度网络数据编码新突破,上交大SPARK登上计算机体系结构顶会
ACL 2022 杰出论文:华为&港大提出SOTA预训练语言模型量化压缩方法
随着GPT、BART等大型深度语言模型的问世,语言模型的运行效率、内存开销成为了备受关注的研究点。在实际应用中,可能没有那么多机器,或者需要提升运行效率,这个时候就需要对语言模型进行压缩,让模型的运行性能能够达到应用标准。基于量化的模型压缩在BERT以及CV领域的一些模型中实现了模型效果微小下降前提下的压缩,华为和港大提出了适用于GPT等自回归语言模型的量化压缩技术,并被评选为ACL 2022的杰出论文。接下来先给大家介绍基于量化的模型压缩方法的基本思路,然后介绍这篇论文提出的改进方法。
圆圆的算法笔记
2022/12/19
6540
ACL 2022 杰出论文:华为&港大提出SOTA预训练语言模型量化压缩方法
推荐阅读
相关推荐
浅谈深度学习模型量化
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验