news 2026/4/3 5:17:47

如何使用生成式 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进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/28 10:44:22

anaconda配置pytorch环境出现CondaError?改用镜像绕过

anaconda配置pytorch环境出现CondaError?改用镜像绕过 在搭建深度学习开发环境时,你是否曾经历过这样的场景:刚准备开始训练模型,却发现 conda install pytorch 卡在依赖解析上半小时毫无进展?或者好不容易安装完成&a…

作者头像 李华
网站建设 2026/3/31 13:42:59

论文被判AI代写?亲测5款降ai率工具,帮你守住毕业证!

最近这段时间。 后台的私信快炸了。 大家问的最多的就是 论文降ai。 好多同学都在吐槽。 明明是自己通宵写的。 一查 降ai率 直接爆表。 甚至有的只是用润色工具改了几句。 结果全篇飘红。 这谁顶得住啊。 眼看要答辩了。 谁也不想在最后关头掉链子。 大家都在到处找 免费降ai…

作者头像 李华
网站建设 2026/3/31 17:07:51

无需手动配置cudatoolkit!PyTorch-CUDA镜像自动匹配版本

无需手动配置cudatoolkit!PyTorch-CUDA镜像自动匹配版本 在深度学习项目的日常开发中,你是否也曾经历过这样的场景:刚拿到一台新服务器,兴致勃勃地准备跑起训练脚本,结果 torch.cuda.is_available() 返回了 False&…

作者头像 李华
网站建设 2026/4/3 4:28:10

PyTorch镜像如何实现多版本共存?标签管理技巧

PyTorch镜像如何实现多版本共存?标签管理技巧 在深度学习项目开发中,你是否遇到过这样的场景:刚跑通一个基于 PyTorch 2.8 的新模型,结果同事拉你协助调试一个旧项目时,却发现它只兼容 PyTorch 2.6 —— 升级依赖会破坏…

作者头像 李华