paperbot · PL 论文追踪

全部论文 待读 收藏

P1 Data Leakage in Notebooks: Static Detection and Better Processes

Notebook 中的数据泄漏:静态检测与更佳流程
ASE Proceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering2022匹配度 7/10 · 属于用户关注的 PL→AI 方向,即把静态分析(抽象解释类方法)应用于机器学习/数据科学代码以发现流水线缺陷,并在十万级真实 Notebook 上做了大规模实证与工程落地讨论,符合“理论形式化+工程实现”“问题驱动”的偏好。但对象是数据科学 Notebook 中的数据泄漏,而非 Agentic 程序、浮点分析或贝叶斯程序分析,与用户最核心的几条主线并不完全重合。引用 29 inbox
Chenyang Yang, Rachel A Brower-Sinning, Grace Lewis, Christian KÄStner
crossref: 2026-09-12

AI 速览

一句话:提出静态分析检测数据科学 Notebook 中训练/测试数据泄漏,并在十万级公开 Notebook 上验证其普遍性。

数据科学流水线在训练与评估机器学习模型时可能像普通代码一样引入缺陷,其中训练集与测试集之间的数据泄漏会导致离线评估高估模型精度,进而可能在生产中部署低质量模型。此类泄漏常因疏忽或不良实践产生,人工检测繁琐。作者提出一种静态分析方法,用于识别数据科学代码中常见的数据泄漏形式。评估表明该方法能准确检测泄漏,且在超过 100,000 个公开 Notebook 中发现泄漏普遍存在。文章还讨论了该分析如何帮助实践者与教育者,以及如何将防泄漏设计融入开发流程。

问题
数据科学/机器学习 Notebook 中训练与测试数据泄漏会高估模型精度,且人工检测困难。
方法
提出静态分析检测常见数据泄漏模式,并讨论开发流程中的防泄漏设计。
评估
在超过 10 万个公开 Notebook 上评估,显示检测准确且泄漏普遍存在。
原文摘要(Abstract)

Data science pipelines to train and evaluate models with machine learning may contain bugs just like any other code. Leakage between training and test data can lead to overestimating the model’s accuracy during offline evaluations, possibly leading to deployment of low-quality models in production. Such leakage can happen easily by mistake or by following poor practices, but may be tedious and challenging to detect manually. We develop a static analysis approach to detect common forms of data leakage in data science code. Our evaluation shows that our analysis accurately detects data leakage and that such leakage is pervasive among over 100,000 analyzed public notebooks. We discuss how our static analysis approach can help both practitioners and educators, and how leakage prevention can be designed into the development process.

链接与引用

DOI 原文 · PDF(开放获取) ·

BibTeX
@inproceedings{paperbot7308,
  title = {Data Leakage in Notebooks: Static Detection and Better Processes},
  author = {Chenyang Yang and Rachel A Brower-Sinning and Grace Lewis and Christian KÄStner},
  booktitle = {ASE},
  year = {2022},
  doi = {10.1145/3551349.3556918}
}