全文共1898字,预计学习时长7分钟
图源:unsplash
科技飞速发展,每隔几个月就会推出一款新的编程语言或者是编程框架。开发人员/分析师/研究人员都想找到最趁手的编程语言,以便更轻松地完成任务。究竟谁才是数据科学最佳编程语言呢?这场神仙打架,谁会是最后的赢家?
我们常常通过错误的原因选定一门编程语言,我们的选择受到许多因素的影响。而当前市场充满了各种数据科学项目,最关键的问题不是“哪一门语言最好”而是哪一门语言最适合当前的项目与开发环境。
本文可能没法给你一个唯一确定的答案,但是你将得到的是,在决定数据科学项目中使用哪门编程语言可以取得最佳效果时,我们需要考虑的那些问题。
数据科学中最常用的编程语言
和其他编程语言(比如Java,Scala, Matlab)相比,Python和R在统计分析和机器学习项目中最常用。
这两门语言都是当下最受欢迎的开源编程语言,受众广泛。数据科学家只有不断了解新的库,学习新的工具,才能让项目水平与精巧程度更上一层楼。
Python
图源:pixabay
Python以其简单易学、句式可读性强而著称。使用像Python这样的万金油编程语言,你可以搭建一个完整的科学生态系统而无需担心兼容性和界面问题。
Python代码维护成本低,因此以此可见它的性能也更强大。从数据整理到功能选择、网页抓取以及机器学习模型部署,Python能与Theano, Tensorflow, and PyTorch等所有主流机器学习与深度学习API结合,几乎可以完成所有工作。
R
20年前,一群学者和统计学家开发出了R语言。如今,许多统计学家、分析师还有开发人员都在利用R语言进行分析,CRAN(开源存储库)中提供了12000个可用数据包。
由于R语言是专为统计人员开发的,因此R语言成了所有核心科学以及数据分析的首选,R语言中有一个包几乎可以用于各类分析问题。RStudio 允许用户生成简洁高质量的数据分析报告用于交流分析结果,让数据分析结果更加精准。
4大问题教你认清哪门语言最适合你的项目!
那么问题来了,我们在实际工作中该如何选择正确的编程语言呢?可以先试着回答下面4个问题:
1.你所在机构/行业最喜欢哪门语言/哪个框架
工作的行业以及同行通常使用的语言会影响你的决定,你也想和他们用一样的语言。下面是DavidRobinson(数据科学家)做的分析,反映了R语言在不同行业的受欢迎程度,可以看到R在学术界和医学界最常用。
所以,如果你想从事研究、学术或生物信息工作,你最好选择R语言而不是Python。
图源:stackoverflow
R语言用的最少的行业则是软件产业、应用程序驱动以及基于产品开发的公司。至于这些公司选用哪门语言,你最好与公司技术栈里的基础架构或者是同事/团队使用的语言保持一致。
包括学术界在内的大部分组织/行业都会选择Python作为基础架构:
图源:stackoverflow
对于数据科学家来说,学习一门可用于多种应用、能增加就业机会的编程语言才是明智之举。
2.你当前有多少时间/金钱可以投入学习?
你选择一门语言而不是另一门语言的原因常常取决于你的编程经验和你的项目要耗费的时间。
如果有一个项目具有高优先级而两门编程语言你都不熟悉,你经验有限或压根没有编程经验,学习R语言可能更容易上手。利用现有的库,仅用几行代码就可以写出统计模型。
如果你还有精力探索数据库并学习相关探索方法,从Python切入是个不错的选择。不过,如果你学习R语言,在Rstudio里可以很快完成数据库探索。
图源:unsplash
3.项目要达到什么样的效果?
这个问题十分重要。在你选择一门语言之前,你必须做好项目的日程规划,要达到什么样的要求。
R:如果你只想利用数据库解决统计问题、做一些多元分析然后生成一份说明报告或数据可视化图表,你最好选择R语言,因为它有强大的可视化功能和交流库。
Python:如果你的目标是先做探索性分析,再开发一个深度学习模型,之后在一个网页应用中部署该模型,应当优先考虑Python的网页框架以及其他主流云服务供应商旗下的产品。
4.你在数据科学领域的经验如何?
初学者往往不够熟悉统计学以及数学概念,这个时候最好选择Python,因为python能让你轻松编写算法。
你可以利用NumPy之类的库自如操作矩阵、编写算法。小白最好从头开始搭建知识框架,而不是直接跳去使用机器学习的库。但是如果已经掌握了机器学习算法的基础概念,可以在Python和R中任意挑选一个开始学习。
图源:unsplash
简言之,R和Python功能之间的差距正在缩小。大多数工作都可以用两种语言完成,两者都有丰富的生态系统来支持你的项目。
因此,不存在孰强孰弱的问题,最适合的就是最好的。
留言点赞关注
我们一起分享AI学习与发展的干货
如转载,请后台留言,遵守转载规范