从数据表到图表分析,这个实用的图表推荐框架令你如虎添翼
ccwgpt 2024-11-20 13:17 45 浏览 0 评论
编辑:陈萍
面对数据表时,很多人通常不清楚应该创建什么样的图表分析。在这种场景中,你需要一个智能助手,可以帮你更好的生成图表分析。
为多维数据集创建图表(表格)是销售、人力资源、投资、工程、科研、教育等许多领域的常见应用。为了执行常规分析和发现见解,人们花费大量时间构建不同类型的图表来展示不同的观点。这个过程通常需要数据分析方面的专业知识和广泛的知识储备来创建适当的图表。
有没有可能通过智能的方式来创建图表呢?近日,由微软研究院、北京大学和清华大学共同发表了一篇论文,文中提出的新型图表推荐框架 Table2Charts 可以高效地解决创建图表问题。
论文地址:https://arxiv.org/pdf/2008.11015.pdf
人们通常会创建不同类型的图表来研究多维数据集。但是,要构建一个能够推荐常用组成图表的智能助手,通常面临着多方言统一、数据不平衡和开放词汇这些根本性问题。
因此,该论文提出了 Table2Charts 框架,该框架可以从大量的(表,图表)对语料库中学习通用模式。此外,基于具有复制机制和启发式搜索的深度 Q-learning,Table2Charts 可进行表到序列的生成,其中每个序列都遵循图表模板。
在具有 196000 个表和 306000 个图表的大型电子表格语料库中,该研究展示了 Table2Charts 可以学习表字段的共享表示,这样不同图表类型的任务就可以相互增强。
该论文的主要贡献如下:
该论文提出了 Table2Charts 框架,该框架可以构建图表合成助手。它能够学习共享表的表示形式,以便在所有图表类型的推荐任务中获得更好的性能和效率,这是通过在图表类型之间的统一操作空间上定义图表模板来实现的;
对于涉及从表中选择数据字段以填充模板的结构化预测问题(生成分析操作序列),该论文设计了具有复制机制的深度 Q 值网络(Deep Q-value Network, DQN)。DQN 的编码器部分学习表表示,而解码器部分学习序列生成;
首次构建并大规模评估能够从人类智慧中学习的端到端图表推荐系统。
方法
在 Table2Charts 中,该论文设计了一种编码器 - 解码器 DQN 结构,它所具有的复制机制可用来填充图表模板。由于模板规则生成序列的曝光偏差较大,因此研究者在进行集束搜索时采用搜索采样技术进行训练。
此外,为了解决数据不平衡问题并相互提高不同图表类型之间的性能,研究者将主要的图表类型混合在一起进行训练以获得混合模型。
混合编码器部分是共享表表示形式,它将被传输到每个单一类型任务以进行解码器调整。混合编码器 - 解码器也可直接用于多类型任务。
DQN 的模型架构如下图 3 所示:
混合训练和迁移学习
该论文设计的 DQN 具有编码器 - 解码器框架,其中编码器计算表字段的表示嵌入,而解码器使用给定的表示进行序列生成。基本思想为:表表示编码器应该在一个多类型和六个单类型任务之间共享,以暴露于不同且丰富的表字段样本,并减少部署任务模型的内存占用和推理时间。
为了学习共享表表示编码器并获取特定任务的解码器,该论文提出了一个混合与迁移范式,该范式包含以下两个阶段:
混合训练:将所有主要图表类型混合在一起并训练一个 DQN 模型。混合编码器将被迁移至下一阶段,而整个混合 DQN 将用于多类型推荐任务;
迁移学习:从上一阶段获取混合编码器,并冻结其参数。然后,对于每个单一类型的任务,共享编码器仅用图表类型的数据训练新的解码器部分。
在单独训练(Lone Training)中,只使用图表类型的数据为每个单一类型的任务训练整个 DQN。与之相比,Table2Charts 中的混合迁移范式具有以下两个优点:
更好的内存占用和推理速度,因为现在所有任务的 DQN 模型共享一个相同的表表示编码器,而单独训练仍然需要为每个任务保留表表示编码器,并导致更多的编码器计算;
编码器暴露的样本远远超过每种图表类型所能提供的样本。这不仅可以更好地学习和泛化表的表示形式,而且还解决了数据不平衡的问题,因此仅解码器部分(与较大的编码器部分相比较小)需要针对较小的图表类型进行调整。
实验
图表语料库
本研究中的图表语料库包含 39139 个(12.8%)线状、93614 个(30.5%)条状、149747 个(48.8%)Series、20921(6.8%)个饼图、2237(0.7%)个区域和 1244(0.4%)个雷达图。
在过滤掉重复表、超大表(>128 个字段)、空图表(未选择字段)和过于复杂的图表(y 轴字段数 > 4 个)并对每个表模式的表(由表的字段名和字段类型组成)进行下采样后,306902 个图表中保留 196255 个,共有 131119 个不同的表模式。这些模式(及其表和图表)按 7:1:2 的比例分配给训练、验证和测试。
对单一类型推荐任务的评估
评价结果如表 1 所示。混合和迁移范式(Transfer)通常比单独训练 (Lone) 和仅混合模式(Mixed) 效果更好。特别地,Transfer 的评价标准 R@1 超过了其他两种方法。
在较小的图表类型上,增强效果清晰可见,召回率提升了约 12%。数据不平衡的问题得到了解决,因为较小图表类型的有限数据仅用于训练小的解码器部分,而无需担心编码器部分。
探索表表示
该实验从验证集中随机选择 3039 个表(包含 20000 个字段),通过 t-SNE 进行可视化,用来理解共享表表示编码器生成的嵌入如何工作。
在下图 4a 中,每个点代表一个字段,颜色代表其字段类型。在图中,我们可以清楚地看到通过嵌入学得的字段类型信息。例如,日期时间字段和年份字段很接近。一种可能的解释是,它们都经常在序列图中用作 x 轴,因此具有相似的表示形式。
相关推荐
- VUE3前端开发入门系列教程二:使用iView框架辅助开发
-
1、安装iView新框架,支持VUE3npminstallview-ui-plus2、编辑src/main.js,添加以下内容,导入js和css到项目importViewUIPlusfrom...
- 万能前端框架uni app初探03:底部导航开发
-
前言本节我们使用uniapp的底部导航功能,点击不同tab会显示不同页面,这个功能在实际项目开发中几乎是必备的。一、基础知识1.tabBar如果应用是一个多tab应用,可以通过tabBar配...
- Rust Web 开发框架,前端你可以选择哪个?
-
Rust构建一切。在如今流行的语言中,Rust可谓是将构建和高效作为自己优美的身姿在大众视野中脱颖而出。它是一门赋予每个人构建可靠且高效软件能力的语言。它有什么特性呢?高性能。Rust速度惊人且内...
- 连载:前端开发中纠结的Javascript框架(上)
-
如今,前端开发有着许许多多的框架和库。其中一些好用,一些却不尽人意。通常我们会习惯性运用某一概念,模块或句法。事实上,并没有什么万能工具。这篇文章是关于未来框架的发展趋势——那就是没有框架!我从以下几...
- 前端开发框架的演进架构:提升用户体验和开发效率
-
前端开发框架是现代Web应用开发的重要工具,它不仅可以帮助开发者构建复杂的用户界面,还能够提升用户体验和开发效率。随着Web技术的不断发展,前端开发框架也在不断演进,为开发者提供了更丰富、更高效的工具...
- Google应用Mesh-TensorFlow框架,让CNN也能处理超高分辨率图像
-
为了要处理超高分辨率医疗图像数据,Google开发了一种空间数据分区(SpatialPartition)技术,在不牺牲图像分辨率的条件下,分析超高分辨率图像。Google使用Mesh-TensorF...
- 大模型安全挑战加剧:框架层漏洞成新靶心
-
近日,360数字安全集团发布了一份关于大模型安全漏洞的报告,揭示了当前大模型及围绕其构建的框架和应用中存在的严重安全问题。报告显示,360近期研究发现了近40个大模型相关的安全漏洞,其中既包括二进制内...
- Keras 3.0正式发布:可用于TensorFlow、JAX和PyTorch
-
机器之心报道编辑:陈萍经过5个月的更新迭代,Keras3.0终于来了。「大新闻:我们刚刚发布了Keras3.0版本!」Keras之父FrancoisChollet在X上激动的...
- TensorFlow和Keras入门必读教程(tensorflow与keras版本对应)
-
导读:本文对TensorFlow的框架和基本示例进行简要介绍。作者:本杰明·普朗什(BenjaminPlanche)艾略特·安德烈斯(EliotAndres)来源:华章科技01TensorFlo...
- 谷歌官方回应“TensorFlow遭弃”:还在投资开发,将与JAX并肩作战
-
鱼羊发自凹非寺量子位|公众号QbitAI终于,谷歌出面回应“TensorFlow遭弃”传闻:我们将继续致力于将TensorFlow打造为一流机器学习平台,与JAX并肩推动机器学习研究。这段时...
- 2025 年的PHP :现代 Web 开发的强大引擎
-
程序员还在吐槽PHP过时?2025年的PHP8.4直接封神了。看看最近更新的属性钩子、强类型系统,加上Laravel这些框架,老语言早就脱胎换骨。十年前说PHP弱类型容易崩代码的,现在脸疼不?联合类...
- 前端内卷终结者?htmx如何让开发者告别200行JS只做一个按钮
-
当你用React写一个点赞按钮需要引入3个状态管理库、编写80行JSX和120行钩子函数时,htmx只需要一行HTML:<buttonhx-post="/like"hx-sw...
- NativePHP桌面版V1.0正式发布(元气桌面电脑版下载)
-
导读:各位小伙伴,使用PHP构建桌面级系统的利器,NativePHP来了。概述NativePHP是一个用于使用PHP构建桌面应用的框架。它允许PHP开发人员使用熟悉的工具和技术创建跨平台的原生应用...
- PHP Laravel框架底层机制(php基本框架)
-
当然可以,Laravel是最受欢迎的PHP框架之一,以优雅的语法和丰富的生态而闻名。尽管开发体验非常“高端”,它的底层其实是由一系列结构清晰、职责分明的组件构成的。下面我从整体架构、核心流程、...
- PHP框架之Laravel框架教程:2. 控制器、路由、视图简单介绍
-
2.控制器、路由、视图简单介绍我们先建立控制器,目录是:app/Http/Controllers,新建控制器Ding.php,代码如下:Ding.php:<?phpnamespaceA...
你 发表评论:
欢迎- 一周热门
- 最近发表
-
- VUE3前端开发入门系列教程二:使用iView框架辅助开发
- 万能前端框架uni app初探03:底部导航开发
- Rust Web 开发框架,前端你可以选择哪个?
- 连载:前端开发中纠结的Javascript框架(上)
- 前端开发框架的演进架构:提升用户体验和开发效率
- Google应用Mesh-TensorFlow框架,让CNN也能处理超高分辨率图像
- 大模型安全挑战加剧:框架层漏洞成新靶心
- Keras 3.0正式发布:可用于TensorFlow、JAX和PyTorch
- TensorFlow和Keras入门必读教程(tensorflow与keras版本对应)
- 谷歌官方回应“TensorFlow遭弃”:还在投资开发,将与JAX并肩作战
- 标签列表
-
- 框架图 (58)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- jpa框架 (47)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- 定时任务框架 (56)
- java日志框架 (61)
- JAVA集合框架 (47)
- mfc框架 (52)
- abb框架断路器 (48)
- beego框架 (52)
- java框架spring (58)
- grpc框架 (65)
- tornado框架 (48)
- 前端框架bootstrap (54)
- orm框架有哪些 (51)
- ppt框架 (48)
- 内联框架 (52)
- cad怎么画框架 (58)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)