项目概况
REaLTabFormer,全称“利用变压器生成真实的关系与表格数据”,是一个适用于生成不同类型表格数据的统一框架。通过使用序列到序列(Seq2Seq)模型,该项目能够生成合成的关系数据集。对于非关系型表格数据,REaLTabFormer使用GPT-2模型,能够直接用于建模任何带有独立观测数据的表格数据。
项目背景
表格数据是一种常见的数据组织形式。现有多个模型可以生成独立观测的合成表格数据集,但很少有能够生成关系数据集的模型。关系数据建模困难在于需要同时建模“父表”和多个表格之间的关系。REaLTabFormer项目开发了一个生成合成表格和关系数据的模型,利用自回归GPT-2模型首先创建父表,然后基于此父表生成关系数据集。
模型实现
REaLTabFormer通过实施目标屏蔽来防止数据复制,并提出一个$Q_\delta$统计和统计引导法来检测过拟合。实验证明,与常规模型相比,REaLTabFormer在捕捉关系结构方面表现更佳,并在无需微调的情况下“开箱即用”地在大型非关系数据集上实现了任务预测的最新结果。
安装指南
REaLTabFormer可以在PyPi上获取,只需要通过pip进行安装即可(Python版本需>=3.7):
pip install realtabformer
使用示例
项目展示了如何用REaLTabFormer建模和生成来自训练模型的合成数据。
规则表格数据使用
在这里,用户可以通过几行代码快速建模规则表格数据。程序首先读取CSV格式的数据文件,然后进行数据拟合,保存模型,并生成具有与真实数据相同观测数的合成数据。
关系数据使用
类似于处理规则表格数据,用户可以处理关系型数据集。通过确保父表和子表中关键列名称一致,用户可以拟合数据并生成父表样本及关系性观测。
合成样本的验证器
REaLTabFormer框架提供了一个界面,方便构建观察验证器以过滤无效合成样本。例如,使用GeoValidator
进行地理验证,以确保所生成的经纬度数据符合地理边界条件。
引用格式
如果您在项目或研究中使用了REaLTabFormer,请参阅并引用我们的工作:
@article{solatorio2023realtabformer,
title={REaLTabFormer: Generating Realistic Relational and Tabular Data using Transformers},
author={Solatorio, Aivin V. and Dupriez, Olivier},
journal={arXiv preprint arXiv:2302.02041},
year={2023}
}
致谢
项目感谢世界银行-联合国难民署联合数据中心对项目“提高负责任的微数据访问以改善强迫流离失所情况下的政策和响应”的资助,支持了REaLTabFormer框架的开发。此外,项目感谢HuggingFace和其他开源项目提供的支持和资源。