经过几个月的测试GitHub Copilot终于开始收费了,每月10美元到底值不值呢,我想通过本篇文章作为例子来演示如何将Copilot用于探索性分析。希望这篇文章能成为一些新初学者的指南,因为在我看来 Copilot的确让编程体验更好!最后我也会写一些我的看法,至于买还是不买还是要看你的选择
本文基于作为数据分析师/数据科学家使用python vs code的编码经验来进行演示
简介
让我们首先了解一些关于 GitHub Copilot 的内容。 这是 GitHub 和 OpenAI 的合作成果。 Copilot 是一种基于人类程序员编写的数十亿行代码训练的语言模型。 ,Copilot 能够生成多种语言的计算机代码。 例如,你可以输入“编写一个函数来反转二叉搜索树”,它可以自动完成。 并且它与以下 IDE 兼容:
数据集概述
我们选择的数据集是从 UCL 机器学习存储库下载。 它包括根据墨西哥、秘鲁和哥伦比亚国家的个人的饮食习惯和身体状况估计肥胖水平的数据(Fabio 等人,2019 年)。
我发现使用 copilot 非常简单。 正如在下面看到的,每次输入内容或到下一行时,Copilot 都会开始生成灰色代码。 大部分时间,只需点击 Tab 或 Enter,就可以自动填充代码。
下面是使用 Copilot 导入数据集并快速查看的示例。 它可以帮助我们制作漂亮的图表。 输入注释:
## nobesity is the dependent variable
## check distribution of nobesity
点击tab,然后看着它生成其余部分:
Copilot 不仅拥有编程知识。 它还具有有关世界的一般知识。 在下面的这段代码中输入:
## calculating body index (BMI)
在代码中正确实现了 BMI 公式! 不仅如此,还可以使用 Copilot 的建议绘制分布图和热图。输入:
## plot all variables
和
## get corr
进一步的分析
让我们尝试使用 lambda 函数来编码一些分类变量。 Copilot 可以为此生成几乎准确的代码。 但是必须进行一些调整,例如将“Yes”更改为“yes”。 这里我不能确定这是 Copilot 本身的问题还是我给出的说明的问题,因为是训练的原因可能是很多人的代码写的不太相同吧,也可能需要指定字符串应该如何格式化。
Copilot 是对性别特别敏感。 在任何单元格中输入“性别”,就不再提供任何建议! 这肯定是为了所谓的P.C,所以 Copilot 工作时,需要避免使用“性别”等这些比较敏感的词。
现在,来分析一下肥胖人群与 high_cal、fam_his 的关系:
## sum of high_cal and fam_his across different obesity groups
Copilot 提供了我们需要的代码。 它还为我们提供了代码来绘制这些结果。 这类似于下面的代码段。
我们日常的EDA工作都可以方便的完成,所以在最后我尝试了一些不太正式的东西:
## best way to plot BMI and age and obesity group
可以看到一个非常丰富多彩且可解释的散点图(见上图)。 这表明写一个信息量不大的评论,仍然可以给我们准确的结果。
使用总结
Copilot可以生成有用的短代码片段。 它还可以生成几行高质量的代码。 虽然它并不完美但它确实帮助我从某个地方开始。每天都使用 Copilot的确可以节省时间。 因为我们不再需要花费太多时间来寻找诸如“如何在多个列上使用 .agg”之类的的答案,我们只要写好注释就好,那么我们需要它花钱吗?
Github Copilot 值得购买吗?
这得看情况。因为有多种场景:
如果你是初级程序员,假设正在学习 python,不建议使用 Copilot 之类的工具。 因为初学者可能不会正确理解代码的工作原理。 而 GitHub 提供了简单的方法,这种捷径对于学习来说并不好。
如果在编程方面具有中级经验和知识的人,那么你就可以开始了。 因为它可以使你更容易编码以及更快地完成项目。
现在我们已经讨论了谁应该使用它,谁不应该使用它。 现在我们的最终问题将是“它值得花钱吗?”。
如果你是学生,那么可以申请教育的免费版,所以强烈推荐你使用它(因为白嫖使人快乐)。 如果你的收入很稳定并且能负担得起 10 美元/月,那么 Copilot 绝对物有所值。 它为你节省的时间绝对要比10每月多的多。但是需要记住的是它支持的是以下语言( Python, JavaScript, TypeScript, Ruby, Go, C#, C++),所以如果你用JAVA,那还是不用考虑了。
最后Copilot 现在有2个月的免费试用,所以不管你买还是不买,先白嫖两个月再说
https://avoid.overfit.cn/post/938a0652aa7244269f423f20e92fe625