背景
以下是对3种数据科学工具的简要描述:
SAS:毋庸置疑,SAS一直是商业分析领域的市场领导者。该软件提供了大量的统计功能,具有良好的图形用户界面(Enterprise Guide&Miner),便于人们快速学习,并提供出色的技术支持。然而,最终它成为最昂贵的选择,还不具备丰富的最新统计功能。
R:R是SAS的开源版本,传统上用于学术和研究。由于其开源特性,最新的统计功能很快就会发布,而且互联网上有很多学习文档,R是一个非常划算的选择。
Python:Python作为一种开源语言,它的使用与日俱增。如今,它的扩展程序库(numpy、scipy和matplotlib)和功能几乎可以用于您可能想要进行的任何统计操作/模型构建。自从引入panda后,它在结构化数据操作方面变得非常强大。
比较属性(比较角度)
我将在以下8个属性上比较这些语言:
可用性/成本
易学性
数据处理能力
图形功能
工具进展
工作情形
深度学习支持
客户服务支持和社区
我从分析师的角度比较这些,所以,如果你想为公司购买一个工具,你可能无法在这里得到完整的答案,但下面的信息仍然有用。对这三种工具,我就每个比较属性进行评分(1–低;5–高)。
这些比较属性的权重取决于你从事的职业和抱负。
1.可用性/成本
SAS是一种商业软件,很昂贵,对于大多数专业人员(以个人身份)来说仍然遥不可及。然而,它在私营机构中占有最高的市场份额。因此,除非您所在的组织购买了SAS,否则可能很难接触它。虽然,SAS提供了一个免费的大学版本,可以使用Jupyter笔记本,但它仍有一些限制!
另一方面,R&Python是完全免费的。以下是我在这个参数上的评分:
SAS – 3
R – 5
Python – 5
2.易学性
SAS很容易学习,并且为已经了解SQL的人提供了简单的选项(PROC
-SQL)。即使不这样,它的知识库中也有一个很好的、稳定的图形用户界面。在资源方面,各个大学的网站上都有教程,SAS有一个全面的文档。有来自SAS培训机构的认证,但需要花钱才能获得。
在这里列出的3种工具中,R的学习曲线最陡,因为需要你学习和理解编码。R是一种低级编程语言,因此简单的过程可能需要较长的代码。
SQL
https://www.analyticsvidhya.com/blog/2015/03/basics-sql-rdbms/
proc-sql
https://www.analyticsvidhya.com/blog/2015/04/data-exploration-sas-data-step-proc-sql/
Python在编程领域以其简单性而闻名,这对于数据分析也是如此。虽然到目前为止还没有广泛使用的图形界面,但我希望Python notebooks会越来越成为主流,这会为文档和共享提供了很棒的功能。
SAS – 4.5
R – 2.5
Python – 3.5
3.数据处理能力
在过去,这一直是SAS的优势。R在内存(RAM)中进行所有的计算,因此计算受到32位机器上RAM数量的限制,但情况不再是这样了。这三种工具都具有良好的数据处理能力和并行计算选项,我觉得这不再是一个很大的区别。他们都可以集成Hadoop和Spark集成,同时也支持Cloudera和ApachePig。
SAS – 4
R – 4
Python – 4
4.图形功能
SAS具有良好的功能图形功能,然而,只是功能性的。任何对绘图的自定义都是困难的,需要你理解复杂的SAS图形(程序扩展)包。
R和Python都具有非常高级的图形功能,有许多软件(程序扩展)包将为您提供高级图形功能。
现在,随着这两种工具都引入plotly并且Python引入了Seaborn,自定义绘图变得前所未有的简单。
SAS – 3
R – 4.5
Python – 4.5
5.工具进展
这3个工具都具有最基本基本和最需要的所有功能,只有在研究最新的技术和算法时,这个特性才重要。
由于其开放性,R&Python可以快速获得最新特性,而SAS在新版本的推出中更新了其功能。由于R在学术界广泛应用,因此新功能的发展很快。
尽管如此,SAS在受控环境中发布更新,因此它们经过了很好的测试。另一方面,R&Python是开放的,在最新功能的开发中有出错的可能。
SAS – 4
R – 4.5
Python – 4.5
6.工作情形
在全球范围内,SAS仍然是市场领导者,大多数大型组织仍然在SAS上工作。另一方面,R/Python对于初创企业和寻求成本效益的公司来说是更好的选择。此外,据报告,在过去几年里,R/Python相关的工作数量有所增加。这是一个在互联网上广泛发布的趋势,显示了R和SAS工作数量的趋势。用于数据分析的Python工作与R工作具有类似或更高的趋势:
在下图中,蓝色代表R,橙色代表SAS。
在下图中,蓝色代表R,橙色代表Python。
数据科学工作中使用的工具分布情况如下:
SAS – 4
R – 4.5
Python – 4.5
7.客户服务支持与社区
R和Python拥有最大的在线社区,但没有客户服务支持。所以,如果你有麻烦,你就靠自己了。不过,你会得到很多帮助的。
SAS提供了专门的客户服务社区。因此,如果你在安装方面遇到问题或任何其他技术挑战,你可以联系他们。
SAS – 4
R – 3.5
Python – 3.5
8.深度学习支持
SAS的深度学习仍处于起步阶段,还有很多工作要做。
Python在该领域有着巨大的进步,它有许多(程序扩展)包,如tensorflow和keras。
R最近增加了对这些包以及一些基本包的支持。R中的kerasR和keras包充当Python包keras的接口。
SAS – 2
Python – 4.5
R – 3
其他因素:
以下是一些值得注意的要点:
Python广泛应用在Web开发中,如果你从事在线业务,使用Python可以同时进行Web开发和分析。
SAS过去在部署端到端基础架构(可视化分析、数据仓库、数据质量、报告和分析)方面具有很大优势,但现在可以通过在SAP HANA和Tableau等平台上集成/支持R,这种优势已不再明显。尽管它距离SAS这样的无缝集成还有很远的距离,但这段旅程已经开始。
结论
在今天的情况下,我们看到市场对Python略有倾斜。考虑到行业的动态性,押注什么即将占据上风,时机尚未成熟。根据你的情况(职业阶段、财务状况等),你可以增加你自己的权重,并想出可能适合你的方案。以下是一些特定的场景:
如果你是一个刚进入分析行业的人(特别是在印度),我建议你学习SAS作为你的第一语言。学习容易,就业市场占有率最高。
如果你是一个已经在这个行业中一段时间的人,你应该尝试学习一个新工具来多样化你的专业知识。
对于业内的专家和专业人士,人们至少应该知道其中的两个,这将为未来增加许多灵活性,并打开新的机会。
如果您是初创企业/自由职业者,R/Python更有用。
从战略上讲,具备更多实际操作帮助和培训的企业机构可以选择SAS作为选项。
研究人员和统计学家选择R作为替代方案,因为它有助于进行大量的计算。正如他们所说,R是为了完成工作,而不是为了让你的电脑更轻松。
由于其轻量级的特性和不断增长的社区,Python明显已经成为当今初创企业的选择,这也是深度学习的最佳选择。