可逆数据转换
项目描述
概述
RDT(可逆数据转换)是一个Python库,将原始数据转换为完全数值数据,准备进行数据科学。这些转换是可逆的,允许您将数值数据转换回原始格式。
安装
使用pip
或conda
安装RDT
。我们建议使用虚拟环境以避免与设备上的其他软件冲突。
pip install rdt
conda install -c conda-forge rdt
有关使用可逆数据转换的更多信息,请访问RDT文档。
快速入门
在这篇简短教程系列中,我们将引导您通过一系列步骤,帮助您开始使用 RDT 转换列、表格和数据集。
加载演示数据
安装 RDT 后,您可以开始使用演示数据集。
from rdt import get_demo
customers = get_demo()
此数据集包含一些随机生成的值,描述了一个在线市场的客户。
last_login email_optin credit_card age dollars_spent
0 2021-06-26 False VISA 29 99.99
1 2021-02-10 False VISA 18 NaN
2 NaT False AMEX 21 2.50
3 2020-09-26 True NaN 45 25.00
4 2020-12-22 NaN DISCOVER 32 19.99
让我们转换这些数据,使每列都转换为全数值数据,以便进行数据科学。
创建 HyperTransformer 和配置
HyperTransformer
能够转换多列数据集。
from rdt import HyperTransformer
ht = HyperTransformer()
HyperTransformer
需要知道您的数据集中的列以及要应用于每列的转换器。这些由配置描述。我们可以要求 HyperTransformer
根据我们计划使用的数据进行自动检测。
ht.detect_initial_config(data=customers)
这将创建并设置配置。
Config:
{
"sdtypes": {
"last_login": "datetime",
"email_optin": "boolean",
"credit_card": "categorical",
"age": "numerical",
"dollars_spent": "numerical"
},
"transformers": {
"last_login": "UnixTimestampEncoder()",
"email_optin": "BinaryEncoder()",
"credit_card": "FrequencyEncoder()",
"age": "FloatFormatter()",
"dollars_spent": "FloatFormatter()"
}
}
sdtypes
字典描述了每列的语义数据类型,而 transformers
字典描述了每列要使用的转换器。您可以自定义转换器和它们的设置。(有关更多信息,请参阅转换器词汇表)。
拟合和使用 HyperTransformer
在 fit
阶段学习数据时,HyperTransformer
会引用配置。
ht.fit(customers)
转换器拟合后,即可使用。使用 transform 方法一次转换数据集的所有列。
transformed_data = ht.transform(customers)
last_login.value email_optin.value credit_card.value age.value dollars_spent.value
0 1.624666e+18 0.0 0.2 29 99.99
1 1.612915e+18 0.0 0.2 18 36.87
2 1.611814e+18 0.0 0.5 21 2.50
3 1.601078e+18 1.0 0.7 45 25.00
4 1.608595e+18 0.0 0.9 32 19.99
HyperTransformer
将分配的转换器应用于每个单独的列。现在,每个列都包含完全数值化的数据,您可以将其用于您的项目!
当您完成项目后,您还可以使用 reverse_transform
方法将数据转换回原始格式。
original_format_data = ht.reverse_transform(transformed_data)
last_login email_optin credit_card age dollars_spent
0 NaT False VISA 29 99.99
1 2021-02-10 False VISA 18 NaN
2 NaT False AMEX 21 NaN
3 2020-09-26 True NaN 45 25.00
4 2020-12-22 False DISCOVER 32 19.99
接下来是什么?
要了解更多关于可逆数据转换的信息,请访问 RDT 文档。
合成数据宝库项目 首次于 2016 年在麻省理工学院的 数据到 AI 实验室 创建。经过 4 年的企业研究和推广,我们于 2020 年创建了 DataCebo,目标是扩大项目。如今,DataCebo 是 SDV 的自豪的开发者,SDV 是合成数据生成和评估最大的生态系统。它拥有多个支持合成数据的库,包括
- 🔄 数据发现与转换。反转转换以重现真实数据。
- 🧠 多种机器学习模型 -- 从 Copulas 到深度学习 -- 用于创建表格、多表格和时间序列数据。
- 📊 测量合成数据的质量和隐私,并比较不同的合成数据生成模型。
开始使用 SDV 软件包 -- 一个完全集成的解决方案,您的合成数据一站式商店。或者,使用独立的库以满足特定需求。
项目详情
下载文件
下载适合您平台的项目文件。如果您不确定选择哪个,请了解有关安装包的更多信息。