如何利用ChatGPT自动完成6个数据科学领域的任务

大数据文摘 2023-01-26 12:10

大数据文摘授权转载自数据派THU

作者:Ahmed Besbes

翻译:陈之炎

校对:赵茹萱


或许,你已经听说过ChatGPT了。


这是一款由OpenAI开发的新型人工智能聊天机器人,OpenAI是GPT-3、DALL.E2及其他产品的幕后开发公司。


ChatGPT横空出世,它和以前的聊天机器人完全不同。令人难以置信的是:它能就各种主题生成详细而全面的答案。例如,它可以回答哲学、数学或计算机科学中的技术问题、可以和ChatGPT闲聊、写与机器学习相关的诗,甚至可以改变它的写作风格。


更为有趣的是,ChatGPT可以非常出色地编写和解释代码。


在本博中,将用一些涉及机器学习和软件工程的编程问题来挑战ChatGPT。作者将要求它编写常用的代码片段和函数,看看它是否能自动完成。笔者将在交互式GIF中提供ChatGPT对每个问题的答案以及它生成的代码。


来一探究竟吧!


为机器学习模型创建一个FastAPI


当需要搭建机器学习模型时,首选的web框架绝对是FastAPI。然而,当涉及编写基本例程时,往往总会忘记语法。


ChatGPT可以刷新我的记忆:当要求它创建一个预测端点时,它会生成以下内容。


GIF由作者提供


不错吧?它不仅能生成正确的API代码,而且还对代码进行注释,并通过示例进行详细解释。


它甚至使用Pydantic风格来进行输入和输入验证。


下面是代码。当然,可以根据实际用例进行调整。



使用Python和弹性搜索创建搜索引擎


当需要利用搜索引擎来查询文本数据时,通常依赖于弹性搜索。


当使用弹性搜索时,首先应创建一个索引和一个映射。


要了解如何定义和创建对象,无需通读文档(再一次强调!),让我们来看看ChatGPT说了些什么:


GIF由作者提供


不出所料,ChatGPT直接生成了文档和示例。


以下是ChatGPT生成的代码:



用PyTorch训练图像分类的卷积神经网络


当需要训练一个神经网络时,通常是从以前的项目中复制粘贴样板代码。

问一下ChatGPT不是更香吗?


GIF由作者提供


生成的代码几乎是完美的:出于某种原因,ChatGPT在前向阶段停止了,且没有使用梯度更新权重。


有趣的是,在训练中使用的参数值(学习率、epochs数目、内数目和核大小)都是真实的。


代码:



为NLP任务训练XGBoost模型


接下来,看是否能够要求ChatGPT利用XGBoost构建一个文本分类器,实现文本数据的特征工程。


ChatGPT对此做了下述响应,它使用了一个Tfidf矢量转换器,看上去不错!


GIF由作者提供


不知道它是否可以用词嵌入来修改答案🤔


代码:



使用MLflow来跟踪机器学习实验


当需要运行不同的机器学习实验并对它们进行比较时,通常会用MLflow在中央服务器中跟踪机器学习实验。


以下是可重复使用多次的代码片段。(衷心感谢,ChatGPT🙏)


GIF由作者提供


代码:



编写GitHub操作,以自动部署FastAPI应用程序


如果需要将应用程序投入生产,很可能依赖某些CI/CD管道来自动化部署,或在代码库上运行一套集成测试。


通常使用以下Github动作。


GIF由作者提供


这是ChatGPT对该话题的看法。


代码:



结论


ChatGPT提供了卓越的代码生成能力,预计很快会成为开发人员的工具箱。


然而,它无法提供(尚没有)推理或优化复杂问题的解决方案。如果出现了什么问题,不能依赖ChatGPT来修复错误代码。


在我看来,ChatGPT是一种浓缩的开放知识库,可以用自然语言来实现复杂的查询。但这并不意味着可以用它做一些过火的事,也不意味着可以盲目地依赖它。


用最好的判断力来提出正确的问题。


原文标题:

How I Used ChatGPT To Automate These 6 Tasks In My Data Science Role

原文链接:

https://medium.com/gitconnected/how-i-used-chatgpt-to-automate-these-6-tasks-in-my-data-science-role-52e8ddfc03cf?source=topics_v2---------0-86--------------------b1f162c5_fca7_4d17_ba3e_c3e2f576cf2a-------17



点「在看」的人都变好看了哦!
推荐阅读