Advertisement

学数据分析/挖掘应该先学Python,还是R语言?

阅读量:

导读: 学数据分析/挖掘应该先学哪门语言?很多人在面对统计工具的选择时往往会陷入这三个选项:R语言、SPSS和SAS。那么人们为何普遍倾向于选择R语言而不是其他两种?本文将解答这一问题。

作者:木羊同学

来源:华章计算机(ID:hzbook_jsj)

今天讨论一下R语言。人们对这种编程语言的关注程度相当微妙,在某些情况下它被视为主流选择,在另一些情况下则被认为是非常不知名的状态之间徘徊。你的看法取决于:你是哪种人?你是在询问这个问题的时间点?还是在询问的具体问题本身?例如,在再过两三年前,如果你被问及'学习数据分析或挖掘应该先学哪种编程语言'(甚至被问及'学习机器学习应该先学哪种编程语言'),那么大约50%的情况下会被认为是正确的答案选择'R语言';而另外50%的概率下(即使有人猜测可能是'Python'),实际情况可能会有所不同——因为此时推荐学习的是另一种编程工具:尽管目前非常受欢迎并被广泛采用的语言可能会有所变化。不过值得注意的是,在当前阶段Python的发展势头非常强劲,并且在通用性方面表现更好;因此在这种情况下建议优先学习Python。

不过,在深度学习领域中,Python得到了长足的发展。近五年来实现了快速崛起,在TIOBE语言排行榜中超越了世界上最广泛使用的语言和C++。如果你继续询问同样的问题,则会得到肯定的答案:满屏都是对Python的赞赏与推崇。然而这并非唯一的解决方案,在目前Python在工业界具有显著的优势的情况下

为什么,难道R有什么独特优势?

要从R语言的性质谈起。总体来说,R语言是一门专业的小众语言。别以为小众,就是三五个人在一个荒岛上进行自我娱乐的那种现象,特指那些职业化的专业人士群体。

多分享一些统计学的知识吧。近年来人们对这一专业的看法逐年转变。过去认为统计学离自己甚远——作为程序
员的我最初只是简单地使用Excel进行基本操作。即便是在数据挖掘、大数据分析等热词兴起的时代里,
许多程序员也仅限于关注底层技术层面的东西,并以最多的次数提及Hadoop和Spark等工具。
然而随着机器学习领域的兴起,
其热度已非昔日可比,
以至于在计算机领域几乎已经鲜有涉及机器学习相关的内容可寻。
这使得R语言逐渐普及开来,
从原先排名靠后的情况发展到现在稳居前十,
甚至超越了曾经风靡一时的Swift语言。

等等啊……感觉怎么像弯腰捡了下橡皮?就从此跟不上剧情了?这其实并不奇怪。因为里面还有一段隐藏剧情。而这段隐藏剧情的存在则让人觉得不奇怪。机器学习的基础知识大家都已经非常熟悉。但是统计学与机器学习之间的私人关系则让人产生了一定的疑问。我写过一本机器学习书叫做《机器学习算法的数学解析与Python实现》。读过这本书应该知道虽然名字看不出关联性但机器学习确实是统计学血缘意义上的亲儿子。我在书中提到一个问题:在教材编写方面通常有两种不同的方法一种侧重于数学理论另一种侧重于编程应用导致学生在理解上总会产生一定的断层感。不过这部分内容暂时先不展开重点来说说R语言这个广受统计学家欢迎的语言工具它正是统计学领域内最权威的语言工具

同样地,统计学不仅仅局限于R语言这一种工具,在机器学习领域中其他知名的有SASSPSS 等软件。因此,在选择合适的统计工具时,很多人会选择在这三种软件中进行权衡比较。主要原因在于其独特的两大优势。

第一 学科**。** 统计这个学科非常有趣 具有较强的实用性 并且应用领域十分广泛 这就很容易让人觉得学习这个学科具有一定的难度

人们容易产生误会,邻居里的宠物狗等人都在谈论着各种统计数据,却觉得这项工作很简单.实际上,尽管存在很多声称自己是"统计软件"的产品,但它们之间的实际差异往往远大于普通的餐食对比.之前提到了SPSS,对非专业人士来说,这项工具已经足够强大.然而,它的受欢迎程度主要源于其操作简便的特点,更接近于一款办公软件而非专业的编程语言.因此,对于新手而言,建议他们熟悉并掌握SPSS的基本功能即可.如果想要从事更为专业的数据分析工作,学习R语言将会是一个更好的选择.

第二部分为开放免费性质

另外,在统计学领域中有人认为开源性是R语言的一大优势。由于活跃的开源社区提供了强大的技术推动力,在更新升级方面表现更为迅速——这使得它非常适合快速探索新技术。不过我的观点是'见仁见智':对于从事创新研究的人来说,则往往更倾向于采用新颖的方法;而对于那些与金钱密切相关的行业而言,则可能更看重稳定性与可靠性——需要经过实践检验成熟后再考虑采用这种方法。这也正是金融界倾向于选择SAS系统的原因。

在最后部分的探讨中, 我们将转向数据分析领域, 并将其与 Python 技术进行对比分析. 虽然 R 语言专注于统计分析与可视化展示, 但 Python 却同样能够完成这些任务, 并且在很多专业人士眼中, 它似乎无所不能. 我个人的工作重点几乎都围绕着 Python 进行开发, 对它的强大功能感到极为惊叹, 并且它几乎能够胜任任何任务. 所以当我学习到 R 语言后, 最想深入了解的是: 在什么特定场景下更适合选择 R 而不是 Python?

答案仍然是上面第一条提到的专业性。

数据分析主要依赖于各种统计工具的应用

这个话题非常有趣呢!我想再多谈谈我的观点吧。我亲眼见到了一个关于"是否转学Python编程语言来进行统计分析"的问题,在讨论中双方进行了充分地交流。起初我对这个问题感到不太明白,在时间有限的情况下我觉得最好还是专注于学习其中一种技能更为合理。后来我才意识到自己对问题的理解存在偏差——我是计算机专业的毕业生啊!而另一些人则侧重于统计分析方面的学习呢!讨论的核心焦点往往集中在如何有效地利用时间来提升相关技能呢?不过双方在评估学习成本的方法上有显著差异哦:一些人认为投入更多的时间就能掌握更多的技能;另一些人则强调效率的重要性——毕竟大家的时间都是宝贵的资源嘛!不管这场争论的结果如何呢?R语言在过去、在现在以及未来相当长的时间里始终具备更新和丰富的特性优势;特别是在比较各种统计数据工具方面这一点尤为突出!

该文简要概述了R语言的优势,并同样能够帮助解答你关于统计工具选择的一些疑虑。然而, 我并不赞成那种武林大赛式的比较, 工具之间的高下并无意义, 适合才是最重要的。如果上述提到的这些特点正好符合你的需求, 那么R语言无疑是最佳选择之一。学习R语言与其他编程语言有所不同, 它作为专业领域内的编程语言, 对教材编写提出了很高的要求: 熟悉编程的作者通常不太通晓统计学知识, 熟悉统计学的人又不太了解编程细节, 这样泛泛而谈是不够深入的。在这里, 我向你推荐《R for Everyone》一书, 机械工业出版社华章公司已出版中文版名为《R语言: 实用数据分析与可视化技术》的书籍, 内容从基础入门到高级统计工具应用均有较为详实的介绍, 同时对初学者容易踩到的技术门槛也做了贴心提醒。此外, R语言在统计分析方面提供了丰富的支持包. 这本书不仅详细讲解了这些包的功能与应用, 还深入探讨了包开发者之间的"军备竞赛"现象及其背后的文化趣味. 写作风格十分用心。

作者简介:

莫凡——对新技术有深度研究的专业人士,在信息安全领域过去致力于前沿技术的研究与数据分析工作,并已在各类信息安全技术期刊及杂志上发表了近五十年的文章。现已成为专注于高端知识通俗化工作的践行者,在推动复杂术语走向日常语言应用方面做出了努力,并出版了《机器学习算法的数学解析与Python实现》一书。个人作品主要通过微信公众号“睡前机器学习”分享专业知识,并在知乎上开设名为“木羊”的账号进行内容分享。

RECOMMEND

推荐阅读

01

《机器学习算法的数学解析与Python实现》

莫凡 著

点击链接了解详情并购买

课程设计以生活案例为基础帮助你理解算法的运行机制,并在探索过程中感受到算法的独特魅力。接着将这一理论知识与机器学习技术相结合,在实践中加深对各类核心算法本质的理解。通过这种循序渐进的学习方式让你能够迅速上手并投身于人工智能开发的前沿领域。

02

《R语言:实用数据分析和可视化技术》

点击链接了解详情并购买

推荐语

更多精彩回顾

书讯 | 5月书讯 | 华章IT图书全新上市!重磅好书实时更新中...
重磅新作《[周志华领衔撰写...》 | 上新!耗时四年时间打磨完成的硬核技术专著《周志华人工智能系列》现已上线!
书单 | 创建字节跳动之前...

干货 | G1垃圾回收算法体系综述

收藏 | 点击关注 TIOBE 五月排行榜:时隔五年 C语言重返榜首

全部评论 (0)

还没有任何评论哟~