如何用 ChatGPT 帮你自动分析数据?

news2024/12/24 3:32:42

73a0961607a17782c778d6eab2b3e26c.jpeg

误判

好几天之前,我就在 ChatGPT 选单里看到了 Code Interpreter。它正在灰度测试中 —— 先给一部分用户试用,如果反响不错并做了一定改进,就能推广给更多用户。

aea11d5f3db7b4b241db3b732e12f97f.jpeg

可惜当时我没能正确理解它的含义,犯了一个大错误 —— 望文生义。我以为 Code Interpreter 是指「代码解释器」,也就是给代码添加注释进行讲解的。可那不是 ChatGPT 早就有了的功能吗?干嘛还专门弄个新的模式出来呢?

后来经朋友提醒我才发现,Code Interpreter 的功能不是「解释代码」,而是执行代码。在这个模式下,你可以上传文件作为输入,让 Code Interpreter 编写代码对输入文件做处理,并且在自带的虚拟环境中执行。根据代码内容的不同,它可以利用文本、数字、图形、表格等方式给你展示结果,甚至还可以给你一个下载链接,把你指定的输出以文件形式下载回本地。

当我意识到这一点时,真可以用「惊讶」和「懊恼」来形容。我迫不及待尝试后,赶紧写作本文,告诉你这个功能。以免你跟我一样望文生义,重蹈覆辙。

下面我用一个实际的例子给你演示。

实例

首先我们需要一个演示数据集。这里我选择了一个名为 loans.csv 的贷款安全数据集。它是一张表格,属于简单结构数据,其中包含若干行,每一行代表一条贷款记录;而每列则代表某一相关属性特征,例如贷款等级,房屋拥有情况,贷款时长等信息。

最后一列 safe_loans 代表贷款成功或失败,也即这次放款是否安全。其中 -1 代表不安全。1 代表贷款安全回收。

0fc60439f76dde96f36c19ae62211531.jpeg

首先我们需要将数据集上传到 Code Interpreter 中。上传按钮很不显眼,在输入框的旁边。

2100d6b610853e11a3efb31c572b7fcf.jpeg

上传后,Code Interpreter 会自动进行分析,并为每列数据提供解释。

8cda420d1348c0e8d7b73f6ab4002715.jpeg

我点击了 "show work" 来看看究竟 Code Interpreter 是如何分析出上述结果的。

3964767e7f3f548652b5a46d6b02b4c6.jpeg

原来,Code Interpreter 直接编写了 Python 代码,读取了上传后的 loans.csv 文件,然后执行 head () 命令,打印出来前 5 行,根据列名称和具体显示的数据综合分析信息,然后做了回答。

提示

数据已经准备好,我们现在可以开始输入提示语了。我觉得使用英文与 Code Interpreter 对话很别扭,因此我提出:

请用中文翻译上面的内容,并且对于专业术语加以简单明了的解释。谢谢

你可能会纳闷儿,老师你干嘛要这么客气呢?不就是个机器……🤫,别瞎说。礼多人不怪,AI 也一样。你跟它客气,它回答起来也会比较认真。在《人工智能这么强,我直接把工作都交给它可以吗?》一文中,我给你解释过具体的证据。

d10914e34dcf32ed95a435f2749f9d0f.jpeg

闲言少叙,这是 Code Interpreter 返回的结果。

5ab90673d6797a0ecc69a1e7c953e8a5.jpeg

你看,用中文回答是不是感觉好多了?对比一下你就会发现,这里的「可循环信贷利用率」等专业术语,都已有具体解释了。Code Interpreter 还在最后提出「告诉我您希望对这些数据进行哪种分析或任务」。

此时,你可以要求 Code Interpreter 做一些简单分析,并要求绘制图表(如分布图)。但对于我而言,这样的机械操作实在太无趣了 —— 每个步骤都需要我来提示,那我还要你这 AI 干啥?

计划

因此,我的下一个提示语,是这样的:

能否根据目前的数据集,思考它可以做哪些分析?请一步步思考,并且给我你有信心的答案。谢谢

注意这一段提示语中的两个技巧,你可以尝试吸收:「一步步思考」是尝试启动大语言模型的思维链;「有信心的答案」是指设定阈值,避免 ChatGPT 天马行空随意乱答。

这是 Code Interpreter 的反馈结果。

430f2aac2c3c75277f2de8a66c9ff7c2.jpeg

Code Interpreter 列出了可能的分析类型。

第一步是描述性分析,比如基本数量分布等。

第二步是相关性分析,总结其他变量间的相关性。

第三步是建立预测模型,其中提到了决策树,随机森林和逻辑回归等方法。也提到必须将之分为训练及测试数据集,且要「使用测试级来评估模型性能」。这种意识非常棒,已经超出了机器学习常见入门水平。

第四步就有点儿莫名奇妙了,虽然 Code Interpreter 提出使用支持向量机 (SVM)、朴素贝叶斯等几个新模型,但要做的事情和第三步是重复的。

好在,我们使用 AI 作为助手,而不是枪手。我们大可以将第四种分析类型省略,只让Code Interpreter将前三个步骤做一下。这里为了方便展示,我让 AI 一次只做一个步骤。下面是执行各个步骤的效果。

结果

第一步,描述性分析。Code Interpreter 给出了这个数据集的一些基本统计信息。包括记录数量、最常见的贷款等级、平均被雇佣不足一年人员数量、平均雇佣年限、平均债务收入、最常见贷款期限数量等。

ec9ee776898ee894399f722b00fd4e5c.jpeg

第二步,相关性分析。Code Interpreter 识别出属于不同变量之间的正负相关关系。例如,短期雇佣与雇佣年限是相反的概念,因此 short_emp和 emp_length_num 之间存在负相关性;债务收入比高的贷款申请者往往会使用循环信贷,因此 dti 和 revol_util 之间存在正相关性;而 safe_loans 和一些其他变量之间存在负相关性,这意味着对那些高债务收入比的人贷款,可能不太安全。

f5f87eefdd8fbf56783527b1b70878f2.jpeg

Code Interpreter还不忘提醒咱们,这些相关性不意味着因果关系,尚需要考虑更多变量的交互和非线性关系。如果是我的学生回答此题,仅仅最后这一句,就会让我非常欣慰。

第三步,构建预测模型。

ba9a6d78e5e8415073d3051937cefbd5.jpeg

Code Interpreter 中规中矩地进行了数据预处理。

18e64e4ea1d0d5f11284bb22f3be0e77.jpeg

我看了一下具体执行的代码:

50b9f21f96ea4dece749480e95f44680.jpeg

之后是模型的训练和性能测试环节。

7ad5c671c41aaa52bf13297054746753.jpeg

点开 show work,对应的代码是这样:

a7ee122ffffef37fa2bcc0fa77858765.jpeg

之后,Code Interpreter 自动进行了结果的汇总输出与阐释。

c3c4e600640d4edf35f565961b242d23.jpeg

该模型在测试数据集上的准确率为61.7%。虽然不高,但Code Interpreter指出相对于随机预测的准确率50%,还是要好一些。有意思的是,它还自动提出了如何对准确率进行提升。例如超参数优化、特征工程、使用其他模型等。特别地,Code Interpreter提出需要不仅仅关注准确率,还要考虑模型可解释性、训练和预测时间等其他指标。

非常好!不过你是说,让我自己去逐一尝试上述提升策略?那怎么可能?!Code Interpreter 既然你画了道儿,就得你来走嘛。

于是我这样提问:

你能否实施改进策略,并且在同样的测试集上进行测试?谢谢

这是 Code Interpreter 的回答。

e92aa9410c725acf8723af0ca9b57542.jpeg

你看?AI 开始认真干起来了不是?

这是 Code Interpreter 一通改进之后的结果:

07d20008fb6d3ac9869bf22453d1c6c7.jpeg

从61.7%提升到了64.9%,准确率高吗?我觉得谈不上。但是这是一个非常有意思的开端,意味着Code Interpreter可以自动帮助我们执行提升准确率的策略,而且获得了成效。

小结

我想跟你谈谈尝试 Code Interpreter 之后的感受。我想用「惊艳」二字来形容。具体来说,就是「分析得当,执行流畅」。

咱们应该思考一下 Code Interpreter 出现的意义。曾几何时,很多小伙伴拿到宝贵的一手数据,却不知道如何分析。在几年前,你会看到很多不同学科的人一窝蜂跑去学习 Python。因为在彼时,只有学会了 Python 或者 R 后,你才可能对数据进行功能丰富且合理可行的分析。很多人因为不具备相关的技术能力,往往坐拥金山,但就是不知道怎么挖掘。

要学完 Python 或者 R 的初级操作,你至少需要学一门课程,或者啃一本教材。但是现在,你只需要和 Code Interpreter 对话,就能把这样的分析结果保质保量快速做出来,甚至比数据分析师基础入门水平都要靠谱,不亦乐乎?

ChatGPT 的 Code Interpreter,目前还在 Alpha 阶段。功能非常初级,时常遇到环境更新导致的不稳定,还有各种限制。例如说你可以让它帮你绘制统计图,英文显示都很好,但所有中文显示都是这个样子:

fda49218e0b7e6ac62ab0f4dd11904f6.jpeg

你当然可以让 Code Interpreter 自己去改进。但是它折腾一通,也只能给你展示这种无奈:

27a57ebfa0151fadf4747ba8a4abb61f.jpeg

但是,我们有理由相信,这些问题随着技术产品的迭代改进,都会逐步解决的。

你在数据分析的过程中,使用过其他的 AI 产品吗?有什么可以推荐给大家的?欢迎留言,咱们一起交流讨论。

祝(自动)数据分析愉快!

点赞 +「在看」,转发给你身边有需要的朋友。收不到推送?那是因为你只订阅,却没有加星标

欢迎订阅我的小报童付费专栏,每季度更新不少于10篇文章。目前价格优惠。

d726adc3d713ef73ec2562418256a8a2.jpeg

如果有问题咨询,或者希望加入社群和热爱钻研的小伙伴们一起讨论,订阅知识星球吧。不仅包括小报童的推送内容,还可以自由发帖与提问。之前已经积累下的帖子和问答,就有数百篇。足够你好好翻一阵子。知识星球支持72小时内无条件退款,所以你可以放心尝试。

ca3b0529a9b2a469a4ecaff221de9429.jpeg

若文中部分链接可能无法正常显示与跳转,可能是因为微信公众平台的外链限制。如需访问,请点击文末「阅读原文」链接,查看链接齐备的版本。 


延伸阅读

  • AI 帮我找卡片挺好,但能不能帮我创作出新的相关卡片啊?

  • 摸索那么多工具后,怎样才能避免「效率成瘾」?

  • 自己录制和剪辑视频,如何解决占用空间过大的问题?

  • 想打造个性化高效工作流,可不会编程怎么办?

  • 世界很大,英语不好的你如何去看看?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/527069.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT 上线联网和插件功能;投资者看好新版搜索引擎

🚀 ChatGPT 上线联网和插件功能 OpenAI宣布将在这周推出联网和插件功能,位于Alpha和Beta通道的ChatGPT Plus用户都可使用70多个上线的插件。 更新意味着ChatGPT将利用最新的信息和资讯为使用者提供服务。 上线的ChatGPT插件种类涵盖了行程安排助理、代…

Android开发-Android常用组件-Date Time组件

4.11 Date & Time组件 1.TextClock(文本时钟) TextClock是在Android 4.2(API 17)后推出的用来替代DigitalClock的一个控件! TextClock可以以字符串格式显示当前的日期和时间,因此推荐在Android 4.2以后使用TextClock。 这个控件推荐在24进制的and…

[内网]RDP远程桌面密码凭证获取

文章目录 RDP保存凭据通过注册表查看当前主机本地连接过的目标机器记录查看当前主机保存的RDP凭据查看本地用户是否存有RDP密码文件通过密码文件获取guidMasterKey的值根据guidMasterKey找到对应Masterkey解密获取明文以上总结: 在授权渗透过程中,如果获…

PCB当中的跳线有什么作用

在PCB设计中,跳线是一种常见的连接方式。跳线是为了连接电路中的距离较远或无法直接连接的电路元件而设置的,其作用是非常重要的。在本文中,我们将探讨PCB中跳线的作用和应用。 一、什么是跳线 跳线是一种特殊的电路连接方式,它是…

EXCEL 0开头的数据处理

方法一:从数据库中存为csv 再新建一个EXCEL 数据——从文本/CSV 方法二: 在数据库里面加A,在EXCEL里面将A替换成 上单引号 ‘

【002】C++的关键字介绍

C的关键字介绍 引言一、关键字一览表二、数据类型相关的关键字三、存储相关的关键字四、控制语句相关的关键字总结 引言 💡 作者简介:专注于C/C高性能程序设计和开发,理论与代码实践结合,让世界没有难学的技术。包括C/C、Linux、M…

CentOS7搭建keepalived+DRBD+NFS高可用共享存储

一、服务器信息 IP地址 类型 主机名 操作系统 内存 磁盘 192.168.11.110 主服务器 node01 CentOS7.9 2G 系统盘20G 存储盘20G 192.168.11.111 备服务器 node02 CentOS7.9 2G 系统盘20G 存储盘20G 二、两台主机…

新王诞生!ACP世界大赛中国区总决赛超燃收官!

“夺最高的冠,摘最亮的星!” 2023 Adobe Certified Professional 世界大赛中国区总决赛 冠军诞生! 2023ACP世界大赛中国区总决赛于5月13日-5月14日在苏州西交利物浦大学举办,历时2天的精彩角逐,于今日圆满收官&…

socket各个结构体及其参数

1.sockaddr_in结构体 //老的结构体 struct sockaddr{unsigned short sa_family; //地址类型,AF_xxxchar sa_data[14]; //14字节的端口和地址 }struct sockaddr_in{short int sin_family; //地址类型unsigned short int sin_port; //端口号st…

如何在项目中自定义注解实现权限数据管理案例

如何在项目中自定义注解实现权限数据管理案例 一、准备工程基本功能1. 创建工程并添加依赖2. 配置数据库信息3. Mybatis-Plus 代码生成器生成基本项目结构4. 因为项目中引入了spring-security,所有接口被保护了,所以用户实体和service分别实现UserDetail…

一封普通的SOA检讨书

近来许多文章关于SOA是否应当被看作是一个失败。Gartner分析师们也参与了这场争论,写了一封虚拟的信,以项目经理、企业架构师或首席开发工程师的名义,致“CIO、CEO、CFO、CTO和所有股东”,表明为什么作者承认SOA完全是场失败&…

自闭症儿童为何越来越多?可能与这3大原因有关

自闭症儿童,常被亲切的称为“来自星星的孩子”,这个名字虽好听, 但对孩子来说,却是恶梦般的存在。患有自闭症的宝贝不仅和外界隔绝,就连自己的父母仿佛也“形同陌路”般。 而近年来,自闭症的患病率有不断走高的趋势&a…

知识库AI部署搭建-唯一客服系统文档中心

唯一客服系统知识库服务,支持向量形式个性化训练ChatGPT,该服务是独立搭建的,下面是一些介绍 安装docker 现在基于GPT相应实现自建本地知识库,必不可少的就是向量数据库,现在介绍下qdrant向量数据库的安装。 因为qdran…

加密解密软件VMProtect教程(四):准备项目之使用MAP文件

VMProtect是新一代软件保护实用程序。VMProtect支持德尔菲、Borland C Builder、Visual C/C、Visual Basic(本机)、Virtual Pascal和XCode编译器。 同时,VMProtect有一个内置的反汇编程序,可以与Windows和Mac OS X可执行文件一起…

JSON, AJAX

文章目录 JSON和AJAX文档介绍1. JSON介绍1.1 JSON快速入门1.2 JSON和字符串转换1.2.1 JSON转字符串1.2.2 字符串转JSON1.2.3 JSON和字符串转换细节 1.3 JSON在java中使用1.3.1 Java对象和JSON字符串转换1.3.2 List对象和JSON字符串转换1.3.3 Map对象和JSON字符串转换 2. Ajax介…

Python实现SMS-Activate接口调用,获取手机号和验证码

前言 本文是该专栏的第27篇,后面会持续分享python的各种干货知识,值得关注。 对于SMS-Activate平台及其注册操作方法,这里就不过多详述了。尤其随着chatgpt的火爆,让sms-activate的热度也随之上涨。可能多数同学,是通过网页操作来获取手机号。而本文主要来介绍使用python…

Lua脚本语言快速上手(针对redis)

目录 基本介绍 设计目的 Lua 特性 lua基本语法 变量 流程控制 redis执行lua脚本 - EVAL指令 案例1:基本案例 案例2:动态传参 案例3:执行redis类库方法 案例4:给redis类库方法动态传参 案例5:pcall函数的使…

linux学习[10]磁盘与文件系统(1):查看磁盘容量指令df 评估文件系统的磁盘使用量指令 du

文章目录 前言1. df指令2. du指令 前言 TF卡制作的过程中涉及到了磁盘分区格式化等问题,当时对具体的指令理解不是特别深刻;由此引申到我对linux中的整个磁盘与文件系统没有一个全面的认识,这个磁盘与文件系统的系列博客章节就对这些进行记录…

电脑技巧:分享六个有趣好玩的网站,值得收藏

目录 1、Weavesilk 2、一键抠图 3、狗屁不通文章生成器 4、小霸王在线小游戏 5、世界名画在线拼图 6、寻找不动的emoji 今天小编给大家分享六个有趣好玩的网站,值得收藏! 1、Weavesilk Weavesilk是一个光线绘画网站,它不需要有任何绘画…

基于python计算生态的第三方库总结与介绍

摘要:Python语言有超过12万个第三方库,覆盖信息技术几乎所有领域。即使在每个方向,也会有大量的专业人员开发多个第三方库来给出具体设计。正是因为python有了这么多“隐形的翅膀”,所以python的功能才足够庞大。本文主要针对pyth…