可逆数据转换
项目描述
概述
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年首次在麻省理工学院的数据到人工智能实验室创建。经过4年的企业研究和推广,我们于2020年创建了DataCebo,旨在扩大该项目。今天,DataCebo是SDV的骄傲开发者,SDV是最大的合成数据生成和评估生态系统。它拥有多个支持合成数据的库,包括
- 🔄 数据发现与转换。反转转换以重现真实数据。
- 🧠 多种机器学习模型——从Copulas到深度学习——以创建表格、多表和时间序列数据。
- 📊 测量合成数据的质量和隐私性,并比较不同的合成数据生成模型。
开始使用SDV软件包 —— 一个完全集成的解决方案,您的合成数据一站式商店。或者,使用独立库以满足特定需求。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。
源代码分发
构建分发
rdt-1.12.4.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 07535eed5bdbbc7402c5aa3481555572e005d8cca592047c8fb10b19c9587edd |
|
MD5 | a7d1083d8ce45b07f1ce79c7a382934e |
|
BLAKE2b-256 | 78b2fb9fba8d40b3668f27d4f5e28545326389df3b7ad23ed23d0e078cefc23d |
rdt-1.12.4-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1a0be9a044da77376aeee102f1c6dde682141e32231a8fe79812e8dca167e175 |
|
MD5 | 69bf3e052a608d93d8ba9a908565c549 |
|
BLAKE2b-256 | b9a96e389093908a1064e873272c7d86423a032c7ae8bb8e4e626fc5e720247d |