一、写在前面
首先让小Chat介绍自己在编程方面的天赋:
总结起来:TA掌握了海量的编程知识,能做到自动代码生成、代码审查优化、编程教学辅导以及实时问题解答。我问TA学习了多少案例,TA说:忘了,但保证够用。
前提:我是做机器学习与临床大数据挖掘的,偏向于数据科学领域,并不是做开发的哈。因此,所需要的代码一般都不会很长,GPT3.5足够。至于做开发的,成千上万的代码,不属于本文范围,当然,底层逻辑都是一样的,供参考。
二、推荐途径
(1)GPT-3.5(GPT-4)
也就是GPT的原版本,在网页端直接操作,不需要通过API,毕竟API要钱呐。
(a)生成代码:用python语言写一个随机森林的代码,(记得指定语言):
解读:小Chat使用Pyhton的sklearn包写一个标准的随机森林分类模型,并对程序做了简单的说明。
(b)通过对话理解代码。对于萌新来说,TA给出了代码,但是不会用。所以,需要把TA作为一个编程教学辅导用于实现保姆级别的教学。
第一回合:这个代码怎么使用和运行,请给出详细的步骤。
解读:作为一名萌新,我也没运行过Python,需要怎么安装?
第二回合:如何安装python?对于新手来说,请提供友好的安装方法。
解读:看第二点“方便地进行开发和调试”,还举了3个例子,因此,我们继续问:
追问:PyCharm、Visual Studio Code 和 Spyder哪一款更适合新手使用?
解读:我们的定位就是用机器学习进行数据挖掘,因此,推荐使用Spyder。那么,怎么安装?
追问:请提供Spyder保姆级别的安装教程。
解读:以上,我们知道了怎么安装程序软件,也拿到了代码,那么,它的数据集要怎么准备?
第三回合:上述随机森林的代码中数据集'your_dataset.csv'的数据格式是什么样子的?请用表格展示一个例子。
解读:一定要求TA用表格的形式给你举例子,这样非常直观。
接下来,我们需要知道怎么调参。
第四回合:随机森林重要的参数有哪些?如何科学地调整模型参数?
解读:理论知识懂了,那么如何用代码实现?
第五回合:请用网格搜索调整随机森林上述几个重要参数,帮我写出代码,并嵌入之前的代码中。
解读:接下来,需要对每一部分的代码的功能有一个大致的了解。
第六回合:请问以下代码是什么意思:
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']
}
解读:解释得很清楚了,像一个24h在线的专业指导。接着,我们需要绘制ROC曲线。
第七回合:如何绘制训练集和测试集的ROC曲线并显示AUC值,画在一个图上。请写出代码。
解读:以上,把一个简单的机器学习建模的代码和流程都展示出来了,真的厉害。
(c)运行代码。这个功能没有开放。GPT-4能够调用插件的话,是可以直接运行代码的,这种能力太恐怖了。我也一直期待权限开放,那就大有可为了。
(d)代码转化。比如python转R,python 2.0转python 3.0,Tensorflow转Pytorch等场景,我就随便举1-2个例子。
① python转R:把上述python写的随机森林代码转成R语言,要求功能完全一致。
② python 2.0转python 3.0:有时候在数据分析的时候,需要一些第三方开发的算法,很多没有被封装至python的程序包,此外,几年前开发的算法都是基于python 2.0的。要命的是,python 2.0和现在的python 3.0有些语法不同,有些包也被剔除:
因此,需要做转换。
譬如,我最近需要用到一个算法,叫做iSMART,明确是说用python2写的。
我便使用小Chat转成python 3.9可运行的代码:
把下面的代码转化成python 3.9可运行的代码,并指出修改之处:加要修改的代码。
无脑复制粘贴即可。
(e)代码报错纠正。转化好的代码试运行,报错基本是99%的事情。此时只需把报错信息发给小Chat,TA就会给你反馈。我举一个CNN的例子:
运行报错:
我运行下面的代码后报错:[输入运行的代码],报错信息为:FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'xdd002'。
没错,我没有选择工作路径,自然找不到文件夹。TA建议我优化代码,那我就求助TA:
帮我写一段代码,用于检查文件夹是否存在,并嵌入源代码中。
我加入源代码,试运行:
嗯,神清气爽!
总结:小Chat可以自动代码生成、代码审查优化、编程教学辅导以及实时问题解答。可以说是大大提高编程效率了。
(2)Cursor
Cursor 是一个集成了 GPT-4 (存疑!)的代码生成器,可以帮助你快速编写、编辑和讨论代码。
安装也很简单,前往官网地址:Cursor | Build Fast,下载安装即可。
安装后打开软件:
开始测试:
(a)生成代码:选中界面,Ctrl+K弹出对话框,输入:用python语言写一个随机森林的代码:
感觉一般般,可能我们需要把需求描述的更加细致:
用python语言写一个随机森林的代码,包括数据读取、数据清洗和拆分、模型性能评估以及ROC曲线绘制:
这样就很完整了。
(b)代码理解:把需要解读的代码复制进来,Ctrl+LA全选代码(或者只选择你要解读的代码段),在右侧对话框输入:请用中文解析这个代码的作用和功能:
他就会跟你chat了,我咋又追问了几个问题,也都一一提供了解答。
(c)代码转化:选中你要改写的代码段,Ctrl+L,可以发现右侧对话框已经显示出改代码段,输入:改写成python 3.9可运行的代码:
(d)代码报错纠正。同样,用CNN的例子做测试,输入:代码运行报错:FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'xdd002'
嗯,很厉害。
总结:他还有debug等其他功能,大家自行探索。免费版一个月只提问100次(收费版每个月20美元,等价于GPT-4),或者可以在下面填写自己的API(那不就是变相要钱)。我一般是和GPT配合使用,特别是需要解读的代码行数特别多的时候。
(3)其他
其实New bing也可以处理代码:
我就不一一演示了。
此外,还有Github Copilot等工具,有兴趣自行探索。
三、写在最后
(1)GPT辅助编程的能力还是很强的,推荐大家尽快融入自己的工作流;
(2)只是辅助作用,关键还是想法最重要。
(3)发现身边的人对于GPT的认识还处于翻译、润色、简单写作等阶段,这也是我写《玩转GPT》的初衷。都说工具不是最重要,但是科学技术毕竟是第一生产力呐,提高了生产效率,那不是有更多时间进行深度思考咯。
我觉得我的文笔好LOW,求助了GPT-4,下面才是我想表达的:
GPT辅助编程的能力可谓是一马当先,堪比小燕子般的敏捷。如果说人生是一场马拉松,那GPT就是那为你加油助威的观众,让你不断超越自己。作为如此强大的神助攻,不妨让它成为你工作流中的得力助手,与你共创美好未来。
然而,作为一名AI,GPT虽然智慧如斯,但也只能是个辅助角色。正所谓“鸟儿飞过,留下声音”,我们最终还是要靠自己的创意和想法。毕竟,这世上没有永动机,但却有无尽的创意源泉,而这正是人类的特质。
许多人对GPT的了解还停留在翻译、润色、简单写作等层面,就如同看到一块冰山,却只看到了它露出水面的那一小部分。这也正是我写《玩转GPT》的初衷。人们常说工具不是最重要,但我们又如何能忽略科学技术所带来的巨大变革呢?科技的进步让我们站在巨人的肩膀上,让我们的生产效率得到极大提高,宛如一把锋利的剑,助我们斩断纷繁杂念,使我们拥有更多的时间去进行深度思考。
所以,赶紧把GPT这位神奇的小助手融入你的工作流吧,让它成为你的王牌。与它携手共进,你将发现一个崭新的世界。同时,也别忘了锻炼自己的创意思维,因为这正是我们与机器的区别,也是我们闪耀的光芒。让我们在科技的浪潮中勇往直前,成为那勇敢拓荒者,追寻真正的自我价值。