在数据分析领域,数据清洗是一项基础而关键的工作。它涉及到检测和纠正数据中的错误、不准确、缺失以及多余信息,以确保分析结果的准确性和可靠性。传统的数据清洗过程往往耗时耗力,但随着人工智能技术的发展,现在我们可以用AI来加速这一过程。
数据清洗,是检测和纠正不合理数据的过程。在大多数情况下,数据分析前都需要这个过程,将错误的、不准确的、缺失的以及多余的数据进行修改或删除。具体来说,数据清洗会面临以下四个问题:
为了提升数据分析的工作效率,最近我尝试了用 ChatGPT 解决第一个问题,「客户名称大小写不一致」。
我先将需要处理的数据和提示词写出来,然后分析为什么这样写。
lucas green – 415-234-9871 – 1520 Willow Road
emily ray : 607-120-5438 : 304 Birch Avenue
OSCAR WHITE , 202-555-0183 , 1337 Maple Drive
isla brown ; 818-555-1234 ; 2020 Oak Lane
theo moore : 909-555-4545 : 880 Cedar Path
AVA WILSON – 313-555-9072 – 167 Elm Street
mia king , 215-555-9801 , 322 Pine Street
noah lee ; 312-555-6611 ; 410 Birch Boulevard
lily johnson – 415-555-2671 – 518 Juniper Way
JACK TAYLOR : 202-555-0164 : 729 Spruce Lane
sophia martinez – 909-555-5454 – 488 Redwood Circle
ETHAN DAVIS , 606-555-3141 , 1050 Oak Avenue
charlotte smith ; 707-555-5962 ; 191 Maple Parkway
oliver jones : 530-555-8787 : 855 Cedar Street
amelia young – 202-555-0198 – 176 Pine Drive
BENJAMIN CLARK , 213-555-6007 , 132 Elm Lane
zoe anderson ; 408-555-5270 ; 980 Birch Road
harry roberts – 202-555-0143 – 633 Juniper Street
LUCY LEWIS : 505-555-6679 : 215 Spruce Avenue
logan martin – 404-555-4545 – 1120 Willow Lane
emma thompson , 312-555-9800 , 470 Oak Street
LIAM SCOTT ; 213-555-9876 ; 630 Birch Lane
grace hall : 505-555-3245 : 325 Cedar Boulevard
jacob wright – 202-555-0171 – 1220 Maple Drive
VICTORIA ADAMS , 408-555-1337 , 221 Elm Road
james baker ; 312-555-7891 ; 105 Birch Path
isabella carter : 415-555-3141 : 440 Juniper Way
SAMUEL MILLER – 202-555-0190 – 640 Spruce Lane
madison gonzalez , 909-555-1239 , 970 Redwood Circle
joshua perez ; 707-555-2814 ; 108 Oak Avenue
任务描述:标准化客户名称的字符大小写。
示例输入:
–JOHNSMITH
–janeDoe
–michaeljohnson
期望输出:
–JohnSmith
–JaneDoe
–MichaelJohnson
详细说明:你是数据分析专家,将输入的客户名称转换为首字母大写格式,即每个单词的首字母大写,其余字母小写。请注意,客户名称可能全大写或全小写,或者混合大小写,并且可能包括多个单词。同时,请保持联系信息的格式不变。编写代码后,需要对原始数据进行处理,并展示结果来进行验证。
上面的提示词中,我用到了三个技巧,即 One-shot 提示、YAML 格式、强调格式不变和验证。
我来分别讲讲使用这些技巧的好处。
One-shot 学习相当于给 ChatGPT 一个例子,把任务说明、示例输入输出以及要处理的数据全部放在提示中。模型能够从示例中学习到标准化大小写的规则,并生成正确的输出。
你发现了没?我给 ChatGPT 的提示词是有一定的缩进的,它是符合 YAML 语法的文本内容。类似的格式能够让 ChatGPT 更容易理解你的结构化表达。当然你可以使用类似的格式,而不用完全遵守 YAML 语法,毕竟分析语法的 ChatGPT 会自动“纠正”不规范的语法的。
你也可以试着输入一些提示词,让 ChatGPT 为你转换成 YAML 格式。你来对比一下,会非常明显地发现,在理解上,它对这些规范格式的提示词比纯粹的自然语言要更准确。
另外一个提示词内容上的技巧,就是强调格式不变和验证。清楚地定义期望结果,往往是你对 AI 开始工作前最容易忽略的一件事情。特别要确保大模型能够对你的工作有统一的理解。所以,我特意在详细说明部分,增加了“格式不变”、“展示结果”、“进行验证”,确保能准确地输出你想要的结果。
通过上面的提示词,我们拿到了第一个案例的执行结果,如图所示:
演示数据:
姓名,年龄,身高,体重
“JohnDoe,28,5’11”,150lbs”
“JaneSmith,32,162cm,55kg”
“MikeBrown,45,1.68m,70kg”
“LisaRay,30,6’0″,135lbs”
“TomLee,33,170cm,68kg”
“LucyBlack,29,1.75m,65kg”
“SamWilson,24,5’3″,120lbs”
“AnnaWhite,41,190cm,80kg”
“DavidGreen,35,1.90m,90kg”
“KarenHill,27,6’2″,160lbs”
…
该输出有效地处理各种格式的输入数据,正确分离名称和联系信息,并将客户名称转换为首字母大写的格式。
以往进行数据清洗的「脏活累活」都可以让 GPT 帮我们完成。而那些需要但个人不擅长的统计学模型、程序代码,也可以让 GPT 来编写,我们结合业务来进行验证。
本文由人人都是产品经理作者【林骥】,微信公众号:【林骥】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于 CC0 协议。