介绍
我们热衷于比较!
从智能手机中的三星,苹果和 HTC,移动操作系统中的 iOS,Android 和 Windows,到即将进行选举的候选人的比较,或为世界杯团队选择队长,比较和讨论丰富了我们的生活。如果你喜欢讨论,你需要做的就是在一个充满激情的论坛里抛出一个相关的问题,然后看着它发酵。这个过程的美妙之处就在于,论坛里的每个人都是一个知识渊博的人。
那我在这里就抛出一个类似的话题—— SAS 和 R 语言之争可能是数据科学行业可能见证的最大争辩,而 Python 是现在发展最快的语言之一,自成立以来已经走过了漫长的道路。我开始讨论这个话题不是想看它引爆全场(虽然这也很有趣),而是我知道我们都会从讨论中受益。
这个问题也经常在博客中被人们讨论。所以,我想和大家一起讨论!
在这个问题上讨论的还不够多吗?
可能是!所以我还是觉得有必要进行讨论,理由如下:
- 数据科学非常有活力,前两年进行的讨论可能与现在的情况没什么关联了。
- 传统观念里没有把 python 列作比较之内,我觉得现在这是个非常值得深思的问题。
- 虽然我们将讨论有关语言的全球趋势,但我也将添加印度分析行业的相关具体信息(处于不同的发展水平)
好了,闲话少说,让我们开始讨论吧!
背景
下面是一些关于这三个生态系统的简要说明:
- SAS:SAS 一直是商业分析领域无可争议的市场领导者。该软件提供大量统计功能,具有良好的 GUI,供人们快速学习,并提供强大的技术支持。然而,它最终变成了一种昂贵的选择,并不总是具有最新的统计功能。
- R:R 是 SAS 的开源对应物,传统上用于学术和研究。由于其开源性质,最新技术可以快速发布。互联网上有很多相关文档,R 是一个非常划算的选择。
- Python:作为一种开源脚本语言,Python 的使用者数量随着时间的推移而不断增长。今天,它集成一些库(numpy,scipy 和 matplotlib)和几乎所有你可能想做的统计操作 / 模型构建的功能。自从引入 pandas 以来,它在结构化数据的操作方面变得非常强大。
属性比较
我将在以下属性上比较这些语言:
1. 可用性 / 成本
2. 易于学习
3. 数据处理能力
4. 图形功能
5. 先进的工具
6. 工作场景
7. 深度学习支持
8. 客户服务支持和社区
我从分析师的角度来比较这些。因此,如果您正在为您的公司寻找要购买的工具,您可能无法在此获得完整的答案。但是以下信息仍然有用。对于每个属性,我给这三种语言中的每一种都给出一个分数(1 – 低 ; 5 – 高)。
这些参数的权重,根据您的职业生涯阶段和雄心而有所不同。
可用性 / 成本
SAS 是一款商业软件。对于大多数专业人士而言,这是昂贵的且没有能力以个人身份购买。但是,它在私人企业中拥有最高的市场份额。因此,除非您在投资了 SAS 的机构中,否则可能很难接触到 SAS。尽管如此,SAS 已经引入了一个可以免费访问的大学版,但它有一些局限性。在那里你也是可以使用 Jupyter notebook 的!
另一方面,R&Python 是完全免费的。以下是我对此参数的打分:
SAS – 3
R – 5
Python – 5
易于学习
SAS 易于学习,并为已经了解 SQL 的人提供简便的选项(PROC SQL)。不仅如此,它在其存储库中具有良好的稳定 GUI 界面。在资源方面,各大学的网站上都有教程,SAS 有全面的文档。从 SAS 培训机构出来是可以获得认证的,但它们也是需要一笔花费。
R 在 3 种语言中具有最陡峭的学习曲线。它要求您学习和理解编码。R 是低级编程语言,因此简单的过程可能需要较长的代码。
Python 因其编程世界的简单性而闻名。对于数据分析也是如此。,虽然目前还没有广泛的 GUI 界面,但我希望 Python notebooks 会变得越来越主流。它们为文档和共享提供了出色的功能。
SAS – 4.5
R – 2.5
Python – 3.5
数据处理能力
这一度是 SAS 的优势。R 计算内存(RAM)中的每一个单元,因此计算受到 32 位机器上的 RAM 数量的限制。但是现在已不再是这种情况。这三种语言都具有良好的数据处理能力和并行计算选项。我觉得这不再是一个很大的区别。他们都带来了 Hadoop 和 Spark 集成,他们也支持 Cloudera 和 Apache Pig。
SAS – 4
R – 4
Python – 4
图形功能
SAS 具有不错的功能图形功能。但是,它只是功能性的。对绘图进行任何自定义都很困难,需要您了解 SAS Graph 包的复杂性。R 和 Python 具有非常先进的图形功能。有许多软件包可以为您提供高级图形功能。随着 Plotly 被引入两种语言并且 Python 带有 Seaborn,制作自定义绘图从未如此简单。
SAS – 3
R – 4.5
Python – 4.5
先进的工具
所有 3 个生态系统都具备所有基本和最需要的功能。此功能仅在您处理最新技术和算法时才有意义。
由于其开放性,R&Python 可以快速获得最新功能。另一方面,SAS 更新了其在新版本推出中的功能。由于 R 在过去被广泛用于学术界,因此新技术的发展很快。
话虽如此,SAS 在受控环境中发布更新,因此它们经过了充分测试。另一方面,R&Python 有开放的贡献,并且在最新的发展中存在错误的可能性。
SAS – 4
R – 4.5
Python – 4.5
工作场景
在全球范围内,SAS 仍然是用于企业工作的市场领导者。大多数大公司仍在使用 SAS。另一方面,R / Python 是寻求成本效益的初创企业和公司的更好选择。此外,据报道 R / Python 上的工作数量在过去几年中有所增加。这是一个在互联网上广泛发布的趋势,它显示了 R 和 SAS 工作的趋势。用于数据分析的 Python 作业与 R 作业具有相似或更高的趋势:
下图显示了蓝色的 R 和橙色的 SAS:
这个图表现了另一个方面,蓝色的 R 与橙色的 python:
总的来说,语言的市场可以用下图表示:
SAS – 4
R – 4.5
Python – 4.5
客户服务支持与社区
R 和 Python 拥有最大的在线社区,但没有客户服务支持。所以,如果你遇到麻烦,你就是靠自己。你会得到很多帮助。另一方面,SAS 提供专门的客户服务与社区服务。因此,如果您在安装或任何其他技术挑战方面遇到问题,可以与他们联系。
SAS – 4
R – 3.5
Python – 3.5
深度学习支持
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 已成为当今初创公司的明显选择。它也是深度学习的最佳选择。
这是最终的得分表: