Litcius/Paper detail

EDAssistant: Supporting Exploratory Data Analysis in Computational Notebooks with In Situ Code Search and Recommendation

Xingjun Li, Y. Zhang, J. Leung, C. P. Sun, Jian Zhao

2022ACM Transactions on Interactive Intelligent Systems35 citationsDOI

Abstract

Using computational notebooks (e.g., Jupyter Notebook), data scientists rationalize their exploratory data analysis (EDA) based on their prior experience and external knowledge, such as online examples. For novices or data scientists who lack specific knowledge about the dataset or problem to investigate, effectively obtaining and understanding the external information is critical to carrying out EDA. This article presents EDAssistant, a JupyterLab extension that supports EDA with in situ search of example notebooks and recommendation of useful APIs, powered by novel interactive visualization of search results. The code search and recommendation are enabled by advanced machine learning models, trained on a large corpus of EDA notebooks collected online. A user study is conducted to investigate both EDAssistant and data scientists’ current practice (i.e., using external search engines). The results demonstrate the effectiveness and usefulness of EDAssistant, and participants appreciated its smooth and in-context support of EDA. We also report several design implications regarding code recommendation tools.

Topics & Concepts

Computer scienceContext (archaeology)Code (set theory)Exploratory searchData scienceVisualizationInformation retrievalHuman–computer interactionWorld Wide WebData miningProgramming languagePaleontologyBiologySet (abstract data type)Data Visualization and AnalyticsScientific Computing and Data ManagementData Analysis with R