news 2026/1/2 9:23:04

如何使用生成式 AI 和 Python 创建设计师虚拟数据集

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何使用生成式 AI 和 Python 创建设计师虚拟数据集

原文:towardsdatascience.com/how-to-use-generative-ai-and-python-to-create-designer-dummy-datasets-d3cd9755c091

你是否曾经需要过不易找到的数据集?想要轻松生成符合你面试潜在数据科学候选人、软件测试和开发或训练模型要求的精确数据?或者只是想要使用正确的数据来展示 Medium 文章中的技能和技术(不违反版权法)?

输入虚拟数据!📊 ✨

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/ade9d6cb69375a4ebe65218d67541bcb.png

Image created by me, using DALL-E

直到最近,创建虚拟数据集还相当繁琐和费力,我们中的技术专家可以用精心编写的 Python 代码来生成它,但手动编写所有要求可能需要花费大量时间,并且有很高的技术门槛。

假设我们有一个用例,我们想要测试申请数据科学职位的候选人,我们希望他们能够识别和讨论现实世界的模式,但由于隐私原因,我们无法在外部共享实际的客户交易数据。

解决方案?利用生成式 AI 的力量,熟练地编写复杂的 Python 代码,输出我们的✨设计师虚拟数据集✨

让我们看看如何提示 GPT4 为我们生成一个满足所有精确且有些繁琐的要求的数据集:

Hi there! You are my expert python programmeranddata scientist extraordinaire.I need to generate a"designer dummy dataset"that meets the following conditionsandspecifications,can you please write the python codeforme to generate it? The datasetistransactionsin2019,2020,and2021I want the dataset to contain the following columns:id,transaction_timestamp,user_id,amount,merchant,network,card_type.The merchant_name should be either:Walmart,Netflix.com,Starbucks,Home Depot,7/11,Dunkin Donuts,Trader Joe's,andAmazon.com The user_id should be between1and100-the amount should be9.99forevery Netflix.com purchase,less than $10forStarbucksandDunkin Donuts,between $25and500forWalmart,Amazon.com,andHome Depot,less than $25for7/11,andbetween $10and$250forTrader Joe's There should be1000transactionsin2019,andthen it should increase by100%in2020,and150%in2021\.Card_network should be visaormastercard,andcard_type should be creditordebit

看上面,我们正在利用提示工程的艺术,让 ChatGPT 写出我们想要的精确内容。

首先,确保你在电脑上安装了所有 Python 库。尽管这个教程不需要广泛的 Python 知识,但你将需要在 Jupyter Notebook 中运行 ChatGPT 的 Python 代码以获取输出,因此需要相应的包。

pip install pandas pip install numpy

现在我们已经准备好运行和测试 Chat GPT 为我们生成的创建虚拟数据集的代码。

importpandasaspdimportnumpyasnpimportrandomfromdatetimeimportdatetime,timedelta# Set random seed for reproducibilityrandom.seed(42)np.random.seed(42)# Define the function to generate the datasetdefgenerate_transactions(start_year=2019,end_year=2021,initial_transactions=1000):years=range(start_year,end_year+1)growth_rate=[100,150]# Percentage increase for 2020 and 2021 respectivelymerchant_names=['walmart','netflix.com','starbucks','home depot','7/11','dunkin donuts','trader joe's', 'amazon.com']card_networks=['visa','mastercard']card_types=['credit','debit']transactions=[]foryearinyears:num_transactions=initial_transactionsifyear>start_year:increase=growth_rate.pop(0)/100num_transactions=int(num_transactions*(1+increase))for_inrange(num_transactions):user_id=np.random.randint(1,101)merchant=random.choice(merchant_names)network=random.choice(card_networks)card_type=random.choice(card_types)date=datetime(year,np.random.randint(1,13),np.random.randint(1,29))timestamp=date.strftime('%Y-%m-%d %H:%M:%S')ifmerchant=='netflix.com':amount=9.99elifmerchantin['starbucks','dunkin donuts']:amount=round(random.uniform(1,10),2)elifmerchantin['walmart','amazon.com','home depot']:amount=round(random.uniform(25,500),2)elifmerchant=='7/11':amount=round(random.uniform(1,25),2)else:# trader joe'samount=round(random.uniform(10,250),2)transactions.append([timestamp,user_id,amount,merchant,network,card_type])initial_transactions=num_transactions df=pd.DataFrame(transactions,columns=['transaction_timestamp','user_id','amount','merchant','network','card_type'])df.insert(0,'id',range(1,1+len(df)))returndf# Generate the datasetdf_transactions=generate_transactions()# Show the first few rows of the dataset to verifydf_transactions.head()

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/26d1f9b8962827b7a1ec577a59ae7e53.png

上述代码生成的用于创建我们的虚拟数据集的输出。

现在,让我们再次确认这个虚拟数据集实际上符合我们指定的要求;如果我们要求潜在的数据科学候选人进行分析并找出趋势,我们希望这些趋势确实存在。因此,让我们请求 ChatGPT 提供 Python 代码来检查我们对于百分比增长的指定要求(表示公司增长):

# Calculate total transaction counts for each year and the percentage changetransaction_counts=df_transactions['transaction_timestamp'].apply(lambdax:datetime.strptime(x,'%Y-%m-%d %H:%M:%S').year).value_counts().sort_index()# Calculate percentage changepercentage_change=transaction_counts.pct_change().fillna(0)*100# Combine into a single DataFramesummary=pd.DataFrame({'Total Transactions':transaction_counts,'Percentage Change (%)':percentage_change}).reset_index()summary

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/9c82a4d9451a1db75788cf22e614f4fb.png

我们 GenAI 生成的“测试”输出,针对我们 GenAI 生成的虚拟数据。完美!

下面,你可以看到我们可能从分析我们的虚拟数据集、寻找我们明确隐藏在内的确切趋势和发现的数据分析师或数据科学申请者那里得到的结果。

(注意,我们没有在“设计师虚拟数据集”中包含数据质量问题,但如果你想要创建一个需要纠正数据类型、处理空值或捕获异常的需求,你绝对可以将这一点添加到你的提示中!)

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/05d01e28b8e1070658efc244a1b3d8c9.png

我们可能希望我们的数据科学候选人从我们的“虚拟数据”中阐明的那种发现和数据可视化示例。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/e7ef383a171cbdc9ad6a396488ea2037.png

潜在候选人的发现 – 某些商家的平均交易金额要高得多!这种发现你可以在例如 Chime 的数据中找到。


除了面试候选人之外,这种方法在许多应用场景中都非常有用!作为一名潜在的数据科学候选人,我发现提前为我要申请的公司生成虚拟数据集,以便在技术筛选之前了解如何处理该行业的数据,这对我是非常有帮助的。

在数据组织中,设计师虚拟数据集可以在各种场景中使用!作为 Chime 的前数据工程师,我首先想到的是:

  • 创建虚拟数据来测试数据匿名化工具(你不想在开发过程中暴露真实的客户 PII!)

  • 测试数据管道 – 我们希望检查数据管道的可靠性、效率和准确性,并轻松模拟场景。创建特定的数据集可以让你轻松完成这项工作!

  • 通过生成具有特定错误的数据来验证数据质量保证流程,以检查你的流程是否能够正确捕获并发出警报。

对于 Medium 上的数据科学作家来说,这种技术对于生成真实、无版权和隐私问题的数据集非常有价值,这些数据集可以让你展示你的数据可视化技能!

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/cd5d36cc0970f8a673f1941869d874f3.png

由我创建的图像,使用 DALL-E。提示:数据管道的抽象未来表现。

局限性 + 考虑事项

尽管生成式 AI 在生成这些虚拟数据集方面可能非常强大和有用,但重要的是要认识到它们的应用存在局限性,尤其是在像我们这样从人类输入中创建时。您的提示永远不会完全捕捉到真实消费者数据集的准确性、真实性和往往的“杂乱无章”,因此这种方法不能替代机器学习模型的实际训练数据,无论您的提示多么复杂。

偏见。由于我们作为人类在编写这些提示,因此生成的任何数据集都可能包含我们作为编写者所持有的固有偏见。在生成“虚拟数据集”时,考虑到您的数据不会歧视人或者地方,这一点非常重要。在生成您的数据集时,请始终记住这一点!


正如您在这简短的教程中所看到的,GPT4 是一个创建符合严格和复杂要求的自定义数据集的强大工具,通过利用其高级编码能力和您自己的提示工程技能,您可以创建用于各种目的的极其详细和复杂的数据。这仅仅是开始!

感谢您的阅读,如果您对数据+AI 感兴趣,请查看我的其他文章!👇

SQL 精通:数据专业人士的高级技术

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2025/12/31 23:32:04

PyTorch镜像中如何安装特定版本的CUDA驱动?

PyTorch镜像中如何安装特定版本的CUDA驱动? 在深度学习项目开发中,最让人头疼的往往不是模型设计,而是环境配置——尤其是当团队成员各自报告“我这边能跑,你那边报错”时。GPU资源明明存在,torch.cuda.is_available(…

作者头像 李华
网站建设 2026/1/1 2:31:47

PyTorch镜像运行Jupyter时密码如何设置?安全指南

PyTorch镜像运行Jupyter时密码如何设置?安全指南 在现代AI开发中,一个常见的场景是:你刚刚拉取了最新的 pytorch-cuda:v2.8 镜像,准备开始训练模型。执行 docker run -p 8888:8888 --gpus all pytorch-cuda:v2.8 jupyter noteboo…

作者头像 李华
网站建设 2026/1/1 4:33:34

cnn特征图可视化方法:在PyTorch-CUDA-v2.8中绘制中间层输出

CNN特征图可视化方法:在PyTorch-CUDA环境中高效绘制中间层输出 在深度学习模型日益复杂的今天,我们常常面临一个根本性问题:模型到底“看到”了什么? 尤其是在图像分类、目标检测等任务中,尽管卷积神经网络&#xff08…

作者头像 李华
网站建设 2025/12/31 20:23:47

基于COMSOL模拟的双重介质注浆模型研究:浆液在裂隙与多孔介质中的流动与扩散特性分析

用COMSOL 模拟双重介质注浆模型,浆液在多孔介质和裂隙中流动。 裂隙为浆液流动的优势通道,明显快与无裂隙的基质通道。 裂隙为随机均匀分布。 注:本算例考虑浆液的渗滤效应。 浆液粘度随扩散距离增加而降低在模拟地下工程注浆过程时&#xff…

作者头像 李华
网站建设 2025/12/31 14:21:09

ssh隧道加密传输:保障PyTorch-CUDA-v2.8数据安全

SSH隧道加密传输:保障PyTorch-CUDA-v2.8数据安全 在深度学习项目日益依赖远程GPU服务器的今天,一个常见的场景是:你正在云上运行一个搭载了 PyTorch 与 CUDA 的 Docker 容器,准备调试模型训练代码。你启动了 Jupyter Notebook&…

作者头像 李华
网站建设 2025/12/31 20:02:09

cuda安装后无法识别GPU?检查驱动版本与PyTorch-CUDA-v2.8匹配

CUDA安装后无法识别GPU?检查驱动版本与PyTorch-CUDA-v2.8匹配 在深度学习项目中,你是否经历过这样的场景:明明装好了CUDA、配置了环境变量,运行 torch.cuda.is_available() 却返回 False?更令人抓狂的是,nv…

作者头像 李华