一句话:挖掘 Kaggle notebook 可视化代码构建可复用函数库,并用变质测试评估可复用性,实现按数据集与查询自动合成可视化。
定制且可复现的可视化通常依赖 matplotlib 等过程式工具,其学习曲线陡峭,文档示例不足,开发者往往需在 StackOverflow 等论坛检索代码并理解后再改造。VizSmith 通过挖掘 Kaggle notebook 中的可视化代码,构建了包含 7176 个可复用 Python 函数的数据库;用户给定数据集、待可视化列与文本查询后,系统在库中检索合适函数、执行并展示生成的可视化。其核心是一项基于变质测试的新方法,用于自动评估函数的可复用性,从而过滤在真实数据上易失败的函数。结果显示,该评估方法使端到端合成性能提升 10%,执行失败次数减少 50%。
Visualizations are widely used to communicate findings and make data-driven decisions. Unfortunately creating bespoke and reproducible visualizations requires the use of procedural tools such as matplotlib. These tools present a steep learning curve as their documentation often lacks sufficient usage examples to help beginners get started or accomplish a specific task. Forums such as StackOverflow have long helped developers search for code online and adapt it for their use. However, developers still have to sift through search results and understand the code before adapting it for their use.We built a tool called VizSmith which enables code reuse for visualizations by mining visualization code from Kaggle notebooks and creating a database of 7176 reusable Python functions. Given a dataset, columns to visualize and a text query from the user, VizSmith searches this database for appropriate functions, runs them and displays the generated visualizations to the user. At the core of VizSmith is a novel metamorphic testing based approach to automatically assess the reusability of functions, which improves end-to-end synthesis performance by 10% and cuts the number of execution failures by 50%.
DOI 原文 ·
@inproceedings{paperbot6551,
title = {VizSmith: Automated Visualization Synthesis by Mining Data-Science Notebooks},
author = {Rohan Bavishi and Shadaj Laddad and Hiroaki Yoshida and Mukul R. Prasad and Koushik Sen},
booktitle = {ASE},
year = {2021},
doi = {10.1109/ase51524.2021.9678696}
}