专栏名称: 数据派THU
本订阅号是“THU数据派”的姊妹账号,致力于传播大数据价值、培养数据思维。
目录
相关文章推荐
大数据文摘  ·  腾讯 Robotics X ... ·  5 天前  
大数据文摘  ·  西安一高校老师实名公开举报!397页PDF痛 ... ·  1 周前  
CDA数据分析师  ·  【2400字实战干货】数据分析在汽配互联网平 ... ·  1 周前  
天池大数据科研平台  ·  「阿里云认证」年度标杆企业奖揭晓 ·  1 周前  
51好读  ›  专栏  ›  数据派THU

独家 | ChatGPT Claude和Gemini 数据分析大比拼(第一部分)(下)

数据派THU  · 公众号  · 大数据  · 2024-09-28 17:00

正文

作者:Yu Dong

翻译:陈之炎

校对:付文欣

本文约2500字,建议阅读5分钟

十个问题帮你测试出哪个AI助手能写出最佳的SQL代码。


4.2. 问题5:新用户计数


提示:请帮我写一个SQL查询,计算每个月的首次用户数量。首次用户是指下第一个订单的用户。


GPT-4o、Claude 3.5 Sonnet和Gemini Advanced:所有三个AI助手都提供了正确的查询,获得了满分。

 


4.3. 问题6:最畅销的产品类别


提示:请帮我写一个SQL查询,获取每个月总订单金额排名前5的热门产品类别。

GPT-4o、Claude 3.5 Sonnet和Gemini Advanced:所有三个AI助手都使用窗口函数,提供了正确的查询,获得了满分。

 


4.4. 问题7:留存率


提示:请帮我写一个SQL查询,计算每个月的用户留存率。月份X的留存率 = 在月份X-1下过订单的用户中,也在X月份下过订单的用户数%。


GPT-4o:它提供了一个错误的答案。它的PreviousMonthUsers CTE和RetainedUsers CTE做了同样的事情……我两次指出它的错误才得到正确的答案。这里打0分。

 


Claude 3.5 Sonnet:它的初始解决方案也失败了,但比GPT更接近。它计算了当月有订单的用户总数。然而,我想要的分母是月份X-1有订单的用户。Claude在一次跟进后更正了代码,获得了0.5分。

 


Gemini Advanced:它在第一次尝试中也失败了。它没有按照我的要求计算留存率,即月份X和X-1都有订单的用户/月份X-1有订单的用户,而是做了月份X和X+1都有订单的用户/月份X有订单的用户。在一次跟进后,Gemini更正了代码并获得了0.5分。

 


第二轮回顾


在这一轮中,Claude 3.5 Sonnet以3.5分加上0.5额外分数领先。ChatGPT-4o得分3分,加上0.5额外分数,在创建和管理合成数据集方面表现出色。Gemini Advanced得分3.5分,它是唯一一个不能直接上传CSV文件的模型。

 

第二轮得分(图片由作者提供)


5. 第三轮:查询优化


在这最后一轮中,我专注于查询优化技能,我使用了SQL优化文章中的低效代码示例,这些查询基于上述相同的四个假数据集。


5.1. 问题8:仅选择必要的列

 


我期望:在窗口函数中选择必要的列,用比SELECT 更好的方法。


GPT-4o:它通过选择相关列并提供清晰的解释来优化查询,它还建议确保适当的索引以提高窗口函数的性能。给予满分。


Claude 3.5 Sonnet:Claude不仅选择了相关列,还使用了COALESCE(SUM(price), 0) AS first_order_amount来处理潜在的空值情况。给予满分。


Gemini Advanced:Gemini也通过选择相关列并提供索引建议来优化查询。给予满分。

 


5.2. 问题9:预聚合

 


我的期望:鉴于users是一个具有许多列的宽表,最好先进行聚合计算first_order_amount,然后再连接到users表以获取所有列。


GPT-4o:最初,GPT-4o只更新了格式,并在users表中明确列出了列。在提示了users表的宽表性质后,它建议先进行预聚合,获得0.5分。


Claude 3.5 Sonnet:Claude建议预聚合,将大表连接移到最后一步进行优化,并提供了清晰的解释。给予满分。

 


Gemini Advanced:Gemini也建议预聚合,但查询有语法问题,它坚持认为查询是正确的……我非常困惑,所以我自己在Snowflake中测试了一个类似的查询(它抛出了语法错误:意外的‘GROUP’),并询问了ChatGPT和Claude。我95%确定你不能以这种方式在同一个CTE中使用QUALIFY和GROUP BY……鉴于这是一个语法错误,Gemini获得0分。但如果这在其他一些数据仓库中有效,请务必告诉我。

 


5.3. 问题10:去重

 


我期望:该查询使用DISTINCT、UNION和ROW_NUMBER()进行去重,所有这三个操作成本都很高,并且是在做同样的事情,所以应消除重复的去重工作。


GPT-4o:它优化了代码,但改变了输出表结构。好吧,我想我没有明确说我需要相同的输出结构……在澄清后,它提供了具有正确列的优化代码。我在这里给它0.5分。

 


Claude 3.5 Sonnet:Claude提供了一个解决方案,将两个窗口函数CTE合并为一个,并使用CASE WHEN + WHERE rn_first=1 OR rn_last=1来获得相同结构的输出。老实说,我甚至没有想到这种方法。它再次获得满分。

 


Gemini Advanced:Gemini也将两个窗口函数合并为一个,但然后使用DISTINCT获取首次和最后一次订单ID。这需要两次表扫描,DISTINCT成本昂贵,所以在我看来它似乎不如Claude的解决方案有效。我给它0.5分。

 


第3轮回顾


在这一轮查询优化中,Claude 3.5 Sonnet是明显的赢家,三个问题都答对了,并且提供了创新的解决方案。ChatGPT-4o在两个问题上需要指导,但最终所有问题都回答正确,获得了2分。Gemini Advanced有一个语法错误,并产生了一个不太优化的代码,因此得到了1.5分。

第3轮得分(图片由作者提供)


6. 总结


最终得分Final scores (图片由作者提供)


Claude 3.5 Sonnet (10 分)


  • Claude在SQL生成和优化方面表现最佳,最初只错了一个问题,但在澄清后很快纠正了。如果你正在寻找一个AI来协助SQL查询,我会100%推荐Claude。

  • 我还喜欢他们的用户界面,可以格式化文本输入以提高可读性。

  • 另一个我欣赏的功能是他们的“项目”功能——你可以设置自定义指令并在项目级别共享知识,这对于团队使用非常方便。

  • 然而,它的文件上传限制具有挑战性,如果你想与它共享真实数据集,他们能实际接受的文件大小远低于官宣的和ChatGPT允许的,可能是出于需求量比较高的原因,希望Claude能尽快改进这个功能。

 

Claude项目(图片由作者提供)


GPT-4o (8 分)


  • GPT-4o能够编写语法正确的SQL,它在业务逻辑方面表现出色,但在查询优化方面落后。

  • GPT-4o的一个显著优势是能够直接在用户界面中加载数据集并与它们互动,助力数据理解和探索——你可以在我的文章:

  • (https://towardsdatascience.com/evaluating-chatgpts-data-analysis-improvements-interactive-tables-and-charts-622d3e5a3816)中了解更多关于这个功能的信息。
  • 它生成带有下载链接的合成数据集的能力也给人留下了深刻印象。


Gemini Advanced (7分)


  • Gemini在所有三个类别中的性能都比Claude和ChatGPT差,但它仍然设法正确回答了70%的问题。

  • 能够搜索网站并提供参考链接是它的竞争优势。然而,根据上文的经验,链接有时是不相关的,或者与其回应不匹配,这破坏了回答的可信度。

  • Gemini的另一个优势是它与Google套件其他产品集成。例如,可以在Google电子表格中打开它生成的数据集。


7. 下一步是什么


现在我们已经比较了SQL技能,接下来我计划评估下面这些数据科学技能。如果你有任何其他领域希望我一并评估的,请告诉我!


  • 探索性数据分析(EDA)

  • 可视化

  • 机器学习

  • 文本分析

  • 数据科学商业案例


对AI和数据科学感兴趣?这里有更多文章可以查看:


ChatGPT能否取代数据科学家?这是我的看法:

https://towardsdatascience.com/evaluating-chatgpt-in-data-science-churn-prediction-analysis-as-an-example-feec7edc23af

我对ChatGPT交互式表格和图表功能的评价:

https://towardsdatascience.com/evaluating-chatgpts-data-analysis-improvements-interactive-tables-and-charts-622d3e5a3816

如何使用OpenAI API进行文本分类和摘要?我的代码示例:

https://ydong029.medium.com/topic-summarization-and-categorization-with-gpt-717a40130d25

你听说过Google的新AI笔记本吗?在这里查看:

https://levelup.gitconnected.com/how-googles-powerful-ai-notebook-will-transform-your-research-and-learning-116e116db4e0


作者简介:

本文由Yu Dong撰写
1.8K关注者 · Towards Data Science撰稿人
Brex数据科学 | 数据故事讲述者


编辑:于腾凯
校对:林亦霖





作者简介





陈之炎,北京交通大学通信与控制工程专业毕业,获得工学硕士学位,历任长城计算机软件与系统公司工程师,大唐微电子公司工程师,现任北京吾译超群科技有限公司技术支持。目前从事智能化翻译教学系统的运营和维护,在人工智能深度学习和自然语言处理(NLP)方面积累有一定的经验。业余时间喜爱翻译创作,翻译作品主要有:IEC-ISO 7816、伊拉克石油工程项目、新财税主义宣言等等,其中中译英作品“新财税主义宣言”在GLOBAL TIMES正式发表。能够利用业余时间加入到THU 数据派平台的翻译志愿者小组,希望能和大家一起交流分享,共同进步



转载须知

如需转载,请在开篇显著位置注明作者和出处(转自:数据派ID:DatapiTHU),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。

发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。




数据派THU作为数据科学类公众号,背靠清华大学大数据研究中心,分享前沿数据科学与大数据技术创新研究动态、持续传播数据科学知识,努力建设数据人才聚集平台、打造中国大数据最强集团军。




新浪微博:@数据派THU

微信视频号:数据派THU

今日头条:数据派THU

点击“阅读原文”拥抱组织