ChatGPT 代码解释器 让人人都是数据分析师
OpenAI终于开放Code Interpreter给所有Plus用户使用了,这是一个天大的好消息,我迫不及待就开始了测试,测试结果也是喜出望外。由于Python代码的加持,能发挥Code Interpreter最大能力的领域就是数据分析了。普通的Excel数据分析根本不在话下,专业的数据分析也可以通过跟ChatGPT对话来进行,彻底改变了数据分析的方式。 为了充分展示Code Interpreter的能力,我特地从Kaggle上找了一个数据集,并交给它一系列从简单的数据分析并生成图表到复杂的机器学习建模任务,由浅入深的探索了Code Interpreter的能力。 不管你日常使用Excel进行数据分析,还是用Python代码,都能从这个案例知道如何使用Code Interpreter以及它的能力。 这个数据集是关于奈飞 (Netflix) 8000多部电影和电视的数据,包括导演,演员,评级,发布时间,观看时间,节目类型,节目描述等数据。 我会首先介绍如何安装Code Interpreter,然后一步步让它完成从简单到复杂的数据分析任务。最后,我对Code Interpreter对数据分析领域的影响和它本身的限制做了一个总结。 如何安装Code Interpreter 目前ChatGPT的代码解释器 (Code Interpreter)的使用前提是要有ChatGPT Plus账号。登录ChatGPT以后,点击左下角用户名右边的三个点形状的按钮,打开ChatGPT的设置窗口。 在新打开的窗口中,点击左侧的”Beta features”,然后把右侧下方的Code interpreter切换到打开状态。 关闭窗口,把鼠标悬停在ChatGPT主界面上方的”GPT-4″按钮上,然后在弹出的下拉菜单里选择”Code interpreter”。 这样我们就成功激活了Code interpreter。 数据清理和预处理 ChatGPT的一个缺陷是无法直接上传文件,必须要通过网页连接或者第三方插件才能读取文件。然而有了代码解释器 (Code Interpreter),你可以直接上传数据文件了。 它支持512M以内的文件上传,并且上传前还可以解压缩。这个大小对于数据分析来说很足够了,你可以上传一个几百万行的csv文件。 激活了Code Interpreter以后,聊天输入框内的左边会出现一个加号,点击它就可以打开本地电脑的文件浏览器了。 我直接把从Kaggle上下载的解压包上传,省的再解压缩了。 上传以后,我就直接开始给它任务了: 作为一个专业的数据分析员,请遵循标准的数据分析程序。让我们一步一步来。 ChatGPT在进行初步的数据分析之后,给出的回复是这样的: 如果你点击ChatGPT的回复里面的”Show Work”按钮,就会展开如下代码: Code Interpreter不仅为我们分析了数据,展示了分析过程,同时还输出了代码。对于会Python代码的同学来说,会更加清楚Code Interpreter进行数据分析的底层逻辑。不懂代码也没关系,Code Interpreter为每一行都添加了注释。 通过以上代码和注释,你会发现ChatGPT其实在解压缩文件这个环节也是用了Python的os和zipfile库。我们其实并未让它解压缩,一切都是自动运行的。接下来它读取了各列的名称,并用它的理解对各个列名进行了诠释。这也是用ChatGPT分析数据的一大优势—它知道什么是奈飞,电影和电视这些话题,所以能够帮我们比较准确的解读数据。 接下来它把每一列的缺失数据的总和都列举出来,并且根据缺失值的数量和分析的目标,给了处理这些缺失值的建议。因为如果有空数据的话,分析起来可能会报错,不合理的数据也会干扰分析的结果,所以数据的清洗通常是数据分析过程中一个非常重要的环节。 因为ChatGPT存在随机性,有时它可能不会给出数据清洗的建议,这时候你可以主动要求它给出数据清洗的建议。也可以跳过这一步,后续遇到问题它会自行清理,谁叫它是机器呢,不嫌麻烦。但是为了减少碳足迹,我们就让按照它给出的建议清洗数据吧。于是我给了它这样一个Prompt: 将导演、演员和国家的缺失值填写为 “未知”,并删除添加日期、评级和观看时间的缺失值的行。 ChatGPT是这样回复的: 所有缺失值都已成功处理。该数据集不再包含任何缺失值。 现在我们可以进入下一个步骤: 探索性数据分析(EDA)。在这一步,我们将深入研究数据集,了解数据的分布,不同变量之间的关系,并确定任何有趣的模式或见解。 你想在这个数据集中探索哪些具体方面?例如,我们可以看看电影与电视节目的分布,分析多年来增加的内容,或者看看哪些国家生产的内容最多,等等。 探索性数据分析…