玩转ChatGPT:辅助编程

一、写在前面

首先让小Chat介绍自己在编程方面的天赋:

玩转ChatGPT:辅助编程_第1张图片

总结起来:TA掌握了海量的编程知识,能做到自动代码生成、代码审查优化、编程教学辅导以及实时问题解答。我问TA学习了多少案例,TA说:忘了,但保证够用。

玩转ChatGPT:辅助编程_第2张图片

前提:我是做机器学习与临床大数据挖掘的,偏向于数据科学领域,并不是做开发的哈。因此,所需要的代码一般都不会很长,GPT3.5足够。至于做开发的,成千上万的代码,不属于本文范围,当然,底层逻辑都是一样的,供参考。

二、推荐途径

(1)GPT-3.5(GPT-4)

也就是GPT的原版本,在网页端直接操作,不需要通过API,毕竟API要钱呐。

(a)生成代码:用python语言写一个随机森林的代码(记得指定语言):

玩转ChatGPT:辅助编程_第3张图片

解读:小Chat使用Pyhton的sklearn包写一个标准的随机森林分类模型,并对程序做了简单的说明。

(b)通过对话理解代码。对于萌新来说,TA给出了代码,但是不会用。所以,需要把TA作为一个编程教学辅导用于实现保姆级别的教学。

第一回合:这个代码怎么使用和运行,请给出详细的步骤。

玩转ChatGPT:辅助编程_第4张图片

玩转ChatGPT:辅助编程_第5张图片

 解读:作为一名萌新,我也没运行过Python,需要怎么安装?

第二回合:如何安装python?对于新手来说,请提供友好的安装方法

玩转ChatGPT:辅助编程_第6张图片

解读:看第二点“方便地进行开发和调试”,还举了3个例子,因此,我们继续问:

追问:PyCharm、Visual Studio Code 和 Spyder哪一款更适合新手使用?

玩转ChatGPT:辅助编程_第7张图片

 解读:我们的定位就是用机器学习进行数据挖掘,因此,推荐使用Spyder。那么,怎么安装?

追问:请提供Spyder保姆级别的安装教程

玩转ChatGPT:辅助编程_第8张图片

玩转ChatGPT:辅助编程_第9张图片

 解读:以上,我们知道了怎么安装程序软件,也拿到了代码,那么,它的数据集要怎么准备?

第三回合:上述随机森林的代码中数据集'your_dataset.csv'的数据格式是什么样子的?请用表格展示一个例子。

玩转ChatGPT:辅助编程_第10张图片

解读:一定要求TA用表格的形式给你举例子,这样非常直观。

接下来,我们需要知道怎么调参。

第四回合随机森林重要的参数有哪些?如何科学地调整模型参数?

玩转ChatGPT:辅助编程_第11张图片

解读:理论知识懂了,那么如何用代码实现?

第五回合:请用网格搜索调整随机森林上述几个重要参数,帮我写出代码,并嵌入之前的代码中。

玩转ChatGPT:辅助编程_第12张图片

玩转ChatGPT:辅助编程_第13张图片

解读:接下来,需要对每一部分的代码的功能有一个大致的了解。

第六回合:请问以下代码是什么意思:

param_grid = {

    'n_estimators': [100, 200, 300],

    'max_depth': [5, 10, 15],

    'min_samples_split': [2, 5, 10],

    'min_samples_leaf': [1, 2, 4],

    'max_features': ['sqrt', 'log2', None],

    'criterion': ['gini', 'entropy']

}

玩转ChatGPT:辅助编程_第14张图片

解读:解释得很清楚了,像一个24h在线的专业指导。接着,我们需要绘制ROC曲线。

第七回合:如何绘制训练集和测试集的ROC曲线并显示AUC值,画在一个图上。请写出代码。

玩转ChatGPT:辅助编程_第15张图片

玩转ChatGPT:辅助编程_第16张图片

解读:以上,把一个简单的机器学习建模的代码和流程都展示出来了,真的厉害。

(c)运行代码。这个功能没有开放。GPT-4能够调用插件的话,是可以直接运行代码的,这种能力太恐怖了。我也一直期待权限开放,那就大有可为了。

(d)代码转化。比如python转R,python 2.0转python 3.0,Tensorflow转Pytorch等场景,我就随便举1-2个例子。

python转R把上述python写的随机森林代码转成R语言,要求功能完全一致。

玩转ChatGPT:辅助编程_第17张图片

玩转ChatGPT:辅助编程_第18张图片

python 2.0转python 3.0:有时候在数据分析的时候,需要一些第三方开发的算法,很多没有被封装至python的程序包,此外,几年前开发的算法都是基于python 2.0的。要命的是,python 2.0和现在的python 3.0有些语法不同,有些包也被剔除:

玩转ChatGPT:辅助编程_第19张图片

因此,需要做转换。

譬如,我最近需要用到一个算法,叫做iSMART,明确是说用python2写的。

玩转ChatGPT:辅助编程_第20张图片

我便使用小Chat转成python 3.9可运行的代码:

把下面的代码转化成python 3.9可运行的代码,并指出修改之处:加要修改的代码。

玩转ChatGPT:辅助编程_第21张图片

无脑复制粘贴即可。

(e)代码报错纠正。转化好的代码试运行,报错基本是99%的事情。此时只需把报错信息发给小Chat,TA就会给你反馈。我举一个CNN的例子:

玩转ChatGPT:辅助编程_第22张图片

运行报错:

玩转ChatGPT:辅助编程_第23张图片

我运行下面的代码后报错:[输入运行的代码],报错信息为:FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'xdd002'。

玩转ChatGPT:辅助编程_第24张图片

 没错,我没有选择工作路径,自然找不到文件夹。TA建议我优化代码,那我就求助TA:

帮我写一段代码,用于检查文件夹是否存在,并嵌入源代码中

玩转ChatGPT:辅助编程_第25张图片

 我加入源代码,试运行:

玩转ChatGPT:辅助编程_第26张图片

嗯,神清气爽!

总结:小Chat可以自动代码生成、代码审查优化、编程教学辅导以及实时问题解答。可以说是大大提高编程效率了。

(2)Cursor

Cursor 是一个集成了 GPT-4 (存疑!)的代码生成器,可以帮助你快速编写、编辑和讨论代码。

安装也很简单,前往官网地址:Cursor | Build Fast,下载安装即可。

玩转ChatGPT:辅助编程_第27张图片

 安装后打开软件:

玩转ChatGPT:辅助编程_第28张图片

开始测试:

(a)生成代码:选中界面,Ctrl+K弹出对话框,输入:用python语言写一个随机森林的代码

玩转ChatGPT:辅助编程_第29张图片

玩转ChatGPT:辅助编程_第30张图片感觉一般般,可能我们需要把需求描述的更加细致:

用python语言写一个随机森林的代码,包括数据读取、数据清洗和拆分、模型性能评估以及ROC曲线绘制

玩转ChatGPT:辅助编程_第31张图片

这样就很完整了。

(b)代码理解:把需要解读的代码复制进来,Ctrl+LA全选代码(或者只选择你要解读的代码段),在右侧对话框输入:请用中文解析这个代码的作用和功能

玩转ChatGPT:辅助编程_第32张图片

玩转ChatGPT:辅助编程_第33张图片

  他就会跟你chat了,我咋又追问了几个问题,也都一一提供了解答。

(c)代码转化:选中你要改写的代码段,Ctrl+L,可以发现右侧对话框已经显示出改代码段,输入:改写成python 3.9可运行的代码:

玩转ChatGPT:辅助编程_第34张图片

(d)代码报错纠正。同样,用CNN的例子做测试,输入:代码运行报错:FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'xdd002'

玩转ChatGPT:辅助编程_第35张图片 嗯,很厉害。

总结:他还有debug等其他功能,大家自行探索。免费版一个月只提问100次(收费版每个月20美元,等价于GPT-4),或者可以在下面填写自己的API(那不就是变相要钱)。我一般是和GPT配合使用,特别是需要解读的代码行数特别多的时候。

(3)其他

其实New bing也可以处理代码:

玩转ChatGPT:辅助编程_第36张图片

 我就不一一演示了。

此外,还有Github Copilot等工具,有兴趣自行探索。

三、写在最后

(1)GPT辅助编程的能力还是很强的,推荐大家尽快融入自己的工作流;

(2)只是辅助作用,关键还是想法最重要。

(3)发现身边的人对于GPT的认识还处于翻译、润色、简单写作等阶段,这也是我写《玩转GPT》的初衷。都说工具不是最重要,但是科学技术毕竟是第一生产力呐,提高了生产效率,那不是有更多时间进行深度思考咯。

我觉得我的文笔好LOW,求助了GPT-4,下面才是我想表达的:

GPT辅助编程的能力可谓是一马当先,堪比小燕子般的敏捷。如果说人生是一场马拉松,那GPT就是那为你加油助威的观众,让你不断超越自己。作为如此强大的神助攻,不妨让它成为你工作流中的得力助手,与你共创美好未来。

然而,作为一名AI,GPT虽然智慧如斯,但也只能是个辅助角色。正所谓“鸟儿飞过,留下声音”,我们最终还是要靠自己的创意和想法。毕竟,这世上没有永动机,但却有无尽的创意源泉,而这正是人类的特质。

许多人对GPT的了解还停留在翻译、润色、简单写作等层面,就如同看到一块冰山,却只看到了它露出水面的那一小部分。这也正是我写《玩转GPT》的初衷。人们常说工具不是最重要,但我们又如何能忽略科学技术所带来的巨大变革呢?科技的进步让我们站在巨人的肩膀上,让我们的生产效率得到极大提高,宛如一把锋利的剑,助我们斩断纷繁杂念,使我们拥有更多的时间去进行深度思考。

所以,赶紧把GPT这位神奇的小助手融入你的工作流吧,让它成为你的王牌。与它携手共进,你将发现一个崭新的世界。同时,也别忘了锻炼自己的创意思维,因为这正是我们与机器的区别,也是我们闪耀的光芒。让我们在科技的浪潮中勇往直前,成为那勇敢拓荒者,追寻真正的自我价值。

你可能感兴趣的:(玩转ChatGPT,chatgpt,python,人工智能)