在数据科学中评估 ChatGPT:以客户流失预测分析为例

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

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

图片由作者提供。(AI 生成数据科学家)

你是否曾经想过像 ChatGPT 这样的 AI 工具在数据科学实际应用中的有效性?或者它们能到什么程度协助,甚至可能取代数据科学家的一些角色?在这篇文章中,我使用了一个真实世界的数据集深入探讨了这些问题,并记录了我的发现。

这篇文章最初发布在我的博客这里,时间是 2024 年 2 月。

引言

自从 GPT 推出数据分析能力以来已经有一段时间了。正如去年所承诺的,我写这篇文章来评估它辅助(甚至取代)数据科学家的能力,以及它的局限性。

为了完成这个任务,我要求 GPT 执行一个在现实生活中非常常见的 DS(数据科学)项目——客户流失预测。这是许多企业的核心问题,也是数据科学应用非常广泛的领域。我在 Kaggle 上找到了这个在线零售客户流失数据集,它包含各种客户人口统计和参与数据,以及一个干净的目标列,表示流失或未流失。以下是给 ChatGPT 的完整提示:

You are a professional data scientist working at an online retail company.
You have this dataset that provides a comprehensive overview of customer interactions with the online retail store.
It includes data on customer demographics, spending behavior, satisfaction levels, and engagement with marketing campaigns. Your aim is to analyze this dataset to predict customer churn, enabling targeted customer retention strategies.

Below is the column description:
Customer_ID: A unique identifier for each customer.
Age: The customer's age.
Gender: The customer's gender (Male, Female, Other).
Annual_Income: The annual income of the customer in thousands of dollars.
Total_Spend: The total amount spent by the customer in the last year.
Years_as_Customer: The number of years the individual has been a customer of the store.
Num_of_Purchases: The number of purchases the customer made in the last year.
Average_Transaction_Amount: The average amount spent per transaction.
Num_of_Returns: The number of items the customer returned in the last year.
Num_of_Support_Contacts: The number of times the customer contacted support in the last year.
Satisfaction_Score: A score from 1 to 5 indicating the customer's satisfaction with the store.
Last_Purchase_Days_Ago: The number of days since the customer's last purchase.
Email_Opt_In: Whether the customer has opted in to receive marketing emails.
Promotion_Response: The customer's response to the last promotional campaign (Responded, Ignored, Unsubscribed).
Target_Churn: Indicates whether the customer churned (True or False).

Please run the analysis and give the code you used, and more importantly, provide actionable data insights and business recommendations.

ChatGPT 响应

下面是 ChatGPT 的响应。请注意,这些都是来自一个响应,但我将其拆分以增强可读性(而且我无法制作这么长的截图……)。

1. 方法与途径

首先,ChatGPT 概述了一个六步分析过程。这对我来说完全合理,但我唯一要说的就是分析通常是一个迭代的过程。在第 6 步中,你总是需要从利益相关者那里收集反馈,并回到前面的步骤。例如,他们可能会有你想要收集的额外特征的想法,或者建议你用数据集验证的新假设。

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

2. 探索性数据分析

接下来,ChatGPT 直接进入了 EDA(探索性数据分析)步骤,因为它识别出提供的数据集相当干净,具有适当的数据类型,没有缺失值(我很高兴它检查并提到了这一点)。它首先通过直方图和条形图查看每个特征的分布,并提供了一些观察结果。这一步骤在数据科学实践中非常重要,因为它有助于你更好地理解数据集。

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

然后,它对每个特征与我们的目标(客户流失)进行了单变量分析。在这里,它解释了不同因素如何与客户流失相关,并提供了可操作的见解。虽然这些见解是相关的,但它有两个明显的改进之处:1. 单变量分析适合初步探索,但它忽略了变量之间的关系,存在过度简化和误导性结论的风险,而且相关性不等于因果关系。2. 一些反馈有点宽泛,所以从商业角度来看,并不是 100%可操作的(例如:“关注客户满意度”)。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/cea6e1e286ed1dc61563f228be1c78dc.pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/0f74ca2f3e26e8e70f49f0ce187b58ce.png

3. 模型化

ChatGPT 继续使用随机森林模型预测客户流失,并提供了混淆矩阵。我认为模型选择是合适的——基于树的模型也是我在处理这类问题时首选的模型(尽管现在可能更倾向于 CatBoost)。然而,我们都知道,在 sklearn 中使用所有原始特征和默认参数调用分类器只是模型开发的非常第一步。ChatGPT 在这里只是做了最基本的工作,但作为其长答案的一部分,这已经非常令人印象深刻了。

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

4. 建议 和 下一步行动

最后但同样重要的是,它写了一个包含商业建议和下一步行动的摘要,其中包括我们上面提到的潜在改进,如模型改进。

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

5. 跟进问题

我还向它提出了一些跟进问题,就像我们总是向跨职能团队展示分析时那样。ChatGPT 适当地回答了这些问题,提供了理论视角,但有时缺少实际细节。

https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/e32eb68c3da0e768bdc4e20f9f5e7363.pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/aef816b07b55cb2178c14e2100af4fcf.pnghttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/c508a08ab4e4420dd273bacf0647eae6.png

摘要

那么,您如何评价我们的数据科学家 Bot 先生在这里的数据分析?对我来说,我会说,它让我想起了我在学校时作为课堂作业写的分析报告——我们总是得到一个干净的数据集和一个明确的目标,以及一个具有清晰步骤和合理建议的分析报告,就像这样应该得到高分。

然而,这和数据科学家面临的微妙挑战之间仍然存在一个明显的差距。以下是我从这个小型实验中观察到的优势和局限性。

优势

  1. 使用可视化和代码的逻辑过程:ChatGPT 在一个定义良好的框架和逐步解释下分析了 ChatGPT。它还附上了生成的代码和可视化,这使得复制粘贴并在此基础上迭代变得非常容易。

  2. 合理的见解和建议:它提供了从分析结果中得出的多个相关见解和建议,尽管它们有时缺乏实施业务策略所需的深度和具体性。

  3. 清晰的下一步行动:它提供的下一步行动可以激发对数据集的进一步深入研究,模型迭代,与利益相关者的对话等。你也可以简单地通过与其聊天来提出后续问题。

局限性

  1. 数据准备方面的差距:通常在现实世界中,拥有一个干净的数据集是一种奢侈,已经占到了项目的 80%。我们总是需要深入数据库/数据仓库/数据湖/数据湖屋(…),四处询问,甚至构建新的数据管道来收集我们需要的所有数据。鉴于现实世界数据基础设施的复杂性和数据隐私问题,现在(至少目前)不可能授予 OpenAI 访问我们数据的权限,并要求它编写查询和收集特征。我已经阅读了一些提出实现此过程的架构的文章,以及一些试图解决这个问题的小工具,但总体来说,目前仍然不可行。

  2. 基本方法:在这个项目中,我没有告诉 ChatGPT 使用什么方法。它能够选择适当的方法,但缺乏进行高级数据分析所需的复杂性。例如,它只进行了单变量分析,而没有考虑特征之间的相关性;并且它进行了基本的随机森林预测,而没有进行特征工程和参数调整。因此,需要专业人士的指导,以确保输出具有统计上的可靠性,并采用最佳方法。

  3. 数据大小和 I/O 限制:我这里使用的玩具数据集只有 1000 行和 15 列。但对于一个真正的客户流失预测项目,你通常需要处理至少大 100 倍的数据集。因此,你很容易达到 ChatGPT 上下文窗口的限制,无法要求它输出像处理后的数据集或预测这样的内容。一个更实际的应用场景是描述你拥有的数据集和你要解决的问题,并要求它为你生成代码。

  4. 缺乏领域知识:ChatGPT 已经非常聪明,在其“头脑”中拥有大量的商业知识。然而,每个业务都有其独特的情况和重点,每个项目都有其目标和细微差别。很难仅仅教会 GPT 所有它需要知道的知识,以提供针对你所在团队的定制化建议。这个见解和建议的步骤仍然很大程度上依赖于你的领域知识和与利益相关者的沟通。

  5. 无 XFN 协作:说到与利益相关者的沟通,现在的数据科学角色不仅仅是技术角色,而是高度协作的。你需要与项目经理、工程师、设计师以及来自不同职能领域的人合作,以澄清项目内容,推动项目进展,并最终推动商业决策。这是 ChatGPT 无法为你做到的(嗯,它可以帮助你起草电子邮件……)。

要点

说了这么多,ChatGPT 对于数据科学家来说有多有帮助呢?我认为有四个主要用途:

  1. 对小型数据集进行快速初步分析(当没有数据隐私问题时)。

  2. 帮助你在特定任务上编写代码或调试。我总是忘记 numpy 的语法,更不用说各种 sklearn 方法和参数了,所以这绝对是一个节省时间的方法。

  3. 头脑风暴分析方法和见解。我有时将 ChatGPT 视为 Google – 我给出各种场景并要求它提出解决方案,并随后提出后续问题。它可能成为你在各种主题上拥有丰富知识的完美头脑风暴伙伴。

  4. 为非技术受众润色分析报告。作为一个非母语人士,我喜欢将我的草稿发送给 ChatGPT,并要求它调整到某种语气。当然,我也请它编辑这篇帖子呢 😃。

ChatGPT 目前还无法完全取代(优秀的)数据科学家,但这次练习再次提醒我这个工具是多么强大以及它发展速度之快。也许很快它就能克服上述许多限制,并成为数据科学工具箱的一个不可或缺的部分。对于数据科学家来说,适应这种新现实并利用这些工具可能是保持在一个快速变化的领域领先的关键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值