作为一名数据科学家,我一直在寻找通过数据最大化效率和推动业务价值的方法。
所以当ChatGPT发布了其中一个最强大的功能——Code Interpreter插件,我简直不得不尝试并将其纳入我的工作流程中。
ChatGPT Code Interpreter是什么?
如果你还没有听说过Code Interpreter,它是一个新功能,允许你在ChatGPT界面中上传代码,运行程序和分析数据。
在过去一年中,每当我需要调试代码或分析文档时,我都不得不将我的工作复制并粘贴到ChatGPT中以获得响应。
这证明是一种耗时的方式,而且ChatGPT界面有一个字符限制,这限制了我分析数据和执行机器学习工作流的能力。
Code Interpreter通过允许你将自己的数据集上传到ChatGPT界面来解决所有这些问题。
虽然它被称为“Code Interpreter”,但这个功能不仅限于程序员——这个插件可以帮助你分析文本文件,总结PDF文档,构建数据可视化,并根据你的期望比例裁剪图像。
你如何访问Code Interpreter?
在我们进入它的应用之前,让我们快速了解如何开始使用Code Interpreter插件。
要访问这个插件,你需要订阅ChatGPT Plus,目前每月费用为$20。
不幸的是,Code Interpreter还没有对没有订阅ChatGPT Plus的用户开放。
一旦你订阅了付费服务,只需转到ChatGPT并点击界面左下角的三个点。
然后,选择设置:
点击“Beta功能”,并启用名为Code Interpreter的滑块:
最后,点击“新聊天”,选择“GPT-4”选项,并在出现的下拉菜单中选择“Code Interpreter”:
你将看到一个类似下图的屏幕,在文本框附近有一个“+”符号:
太棒了!你现在成功启用了ChatGPT Code Interpreter。
在本文中,我将向你展示使用Code Interpreter自动化数据科学工作流程的五种方法。
1. 数据摘要
作为一名数据科学家,我花费了很多时间试图理解数据集中的不同变量。
Code Interpreter很好地为你解析了每个数据点。
以下是你可以让模型帮助你摘要数据的方法:
让我们以Kaggle上的Titanic生存预测数据集为例。我将使用“train.csv”文件。
下载数据集并转到Code Interpreter:
点击“+”符号并上传要摘要的文件。
然后,询问ChatGPT以简单的方式解释此文件中的所有变量:
哇!
Code Interpreter为我们提供了数据集中每个变量的简单解释。
2. 数据探索分析
现在我们对数据集中的不同变量有了一定的了解,让我们让 Code Interpreter 进一步进行一些 EDA。
该模型生成了5个图表,帮助我们更好地理解数据集中的不同变量。
如果您点击“显示工作”下拉菜单,您会注意到 Code Interpreter 已经编写并运行了 Python 代码来帮助我们达到最终结果:
图片作者
如果您想进行进一步的分析,您可以随时将此代码复制粘贴到您自己的 Jupyter Notebook 中。
ChatGPT 还根据生成的可视化结果为我们提供了一些关于数据集的见解:
图片作者
它告诉我们女性、头等舱乘客和年轻乘客的生存率较高。
这些是需要手动推导的见解,特别是如果您不熟悉 Python 和数据可视化库如 Matplotlib 的话。
Code Interpreter 在短短几秒钟内生成了它们,极大地减少了执行 EDA 所需的时间。
3. 数据预处理
我花了很多时间清理数据集并为建模过程做准备。
让我们让 Code Interpreter 帮助我们预处理这个数据集:
图片作者
Code Interpreter 概述了清理该数据集所涉及的所有步骤。
它告诉我们我们需要处理三列缺失值,对两个分类变量进行编码,进行一些特征工程,并且删除与建模过程无关的列。
然后它创建了一个 Python 程序,在短短几秒钟内完成了所有的预处理工作。
如果您想了解模型执行数据清理的步骤,可以点击“显示工作”:
图片作者
然后,我询问 ChatGPT 如何保存输出文件,它为我提供了一个可下载的 CSV 文件:
图片作者
请注意,在整个过程中,我甚至没有运行一行代码。
Code Interpreter 能够导入我的文件,在界面内运行代码,并在短时间内提供给我输出。
4. 构建机器学习模型
最后,我让 Code Interpreter 使用预处理的文件构建一个机器学习模型,以预测一个人是否能在泰坦尼克号沉船中生存:
图片作者
它在不到一分钟的时间内建立了模型,并且能够达到83.2%的准确率。
它还为我提供了一个混淆矩阵和分类报告,对模型的性能进行了总结,并解释了所有指标的含义:
图片作者
我要求 ChatGPT 为我提供一个将模型预测与乘客数据进行映射的输出文件。
我还想要一个可下载的机器学习模型文件,因为我们总是可以在未来进行进一步的微调和训练:
图片作者:作者
5. 代码解释
我发现 Code Interpreter 的另一个有用之处是它能够生成代码解释。
就在前几天,我正在开发一个情感分析模型,并在 GitHub 上找到了一些与我使用场景相关的代码。
由于作者导入了我不熟悉的库,我并没有完全理解整段代码。
使用 Code Interpreter,您只需上传代码文件并要求它清晰解释每一行。
您还可以要求它对代码进行调试和优化以提高性能。
这里有一个示例——我上传了一个包含我多年前编写的构建 Python 仪表盘的代码文件:
图片作者:作者
Code Interpreter 对我的代码进行了拆分,并清晰地概述了每个部分的内容。
图片作者:作者
它还建议重新编写我的代码以提高可读性,并解释了可以添加新部分的位置。
我不需要自己做这些,只需要求 Code Interpreter 重新编写代码并提供改进版本:
图片作者:作者
Code Interpreter 重写了我的代码,将每个可视化封装到单独的函数中,使其更易理解和更新。
ChatGPT Code Interpreter 对数据科学家意味着什么?
目前,Code Interpreter 受到了很多关注,因为这是我们第一次见到一个能够处理代码、理解自然语言并执行端到端数据科学工作流程的工具。
然而,重要的是要记住,这只是又一个能帮助我们更高效地进行数据科学工作的工具。
到目前为止,我一直在使用它在虚拟数据上构建基准模型,因为我不允许将敏感公司信息上传到 ChatGPT 接口上。
此外,Code Interpreter 没有领域特定的知识。我通常将其生成的预测作为基准预测,但我经常需要调整其输出以适应我的组织用例。
我不能展示由一个没有对公司内部工作方式有可见性的算法生成的数字。
最后,我并不是每个项目都使用 Code Interpreter,因为我处理的一些数据包含数百万行,并存储在 SQL 数据库中。
这意味着我仍然需要自己执行大部分的查询、数据提取和转换工作。
如果您是一名初级数据科学家或希望成为一名数据科学家,我建议学习如何利用像 Code Interpreter 这样的工具更高效地完成工作中的繁琐部分。
这就是本文的全部内容,感谢阅读! Natassha Selvaraj 是一名自学成才的数据科学家,对写作充满热情。您可以在 LinkedIn 上与她联系。