番外篇:R or Python,到底学哪个?这篇文章来告诉你……

此外,由于R是编程语言,批量作图也是特别方便。

对于数据可视化,R中有很多优秀的包(package),比如:

  • 对于静态图,比如ggplot2,ggmap,Lattice。
  • 对于动态图,比如gganimate,REmap,animation。
  • 对于交互式图, 比如plotly,rCharts。

不BB了,一图胜千言:

虽然Python也有一些不错的可视化库,如matplotlib,Seaborn,Bokeh和Pygal。但相比于R,呈现的结果并不总是那么顺眼。

1.4 在数据处理方面,R非常优秀

如果你的工作更多的是数据分析,我强烈推荐你使用R,尤其推荐你使用R中的包。

包是一组数据处理与可视化R包的集合体,其中的, 和包都广为人知。

对于数据科学,包提供【数据导入】→【数据整理】→【数据分析】→【数据可视化】一条龙服务。假如这些就是你的日常工作,那么恭喜你了,赶快使用这个包。

的语法也非常易学、易记和易用。特别地,包中的各种函数都命名得非常贴切,不用特意去记住它们。比如:你想“过滤”你的数据集来创建一个子集,可以使用函数;如果你想选择数据集的某一列,你可以使用函数。

此外,包中的函数都被高度模块化了。每个函数只干一件事情,而且做得非常好。模块化让函数更容易学和使用。通过联合许多简单的函数,完成一项复杂的数据处理任务变得非常容易。整个过程如同搭积木一样。

总之,相比Python,我认为R更擅长数据分析。

1.5 如果你有统计学基础,学R

如果你在做统计学方面的研究,建议你学R。

很多统计学的学生都在使用R,但是他们对程序编程知道的很少。如果你也是这种情况,我强烈建议你去学R。

貌似统计学家更喜欢使用R,比如当你看到一本统计学书籍时,你会发现他们使用的代码常常都是用R写的。很多统计学家都是R 区的贡献大牛。

基本上所有统计算法在R中都可以实现。因此,如果你想使用一些比较少见的统计学技术,你可能在R中更加容易找到它们。

1.6 R就业竞争力强

在大数据、数据分析师等相关招聘广告中,经常要求求聘者精通R。

根据三家权威机构2017年的统计数据 (https://www.techrepublic.com/article/five-highly-paid-and-in-demand-programming-languages-to-learn-in-2018/),相比Python,R从业者的平均年薪会稍微高一点。

从就业形势来看,目前大数据领域人才比较稀缺,因此R从业者的竞争力还是比较强的。

2. Python的优势

对于数据科学初学者,尽管我强烈推荐学R,但也不是唯一的选择。

对于某些人,Python可能是最好的选择。下面讲一下哪些情况下选择Python更好。

2.1 如果你有软件开发或计算机科学基础,学Python

如果你曾经有软件开发经验或者你是计算机科学专业的话,我认为Python会更适合你。因为你已经有编程经验了,使用Python会让你更舒服。

2.2 想开发软件,学Python

我已经说了R更擅长数据科学。如果你想建立软件系统的话,我认为Python更合适。Python的闪光点就是写软件,效率很高。就像一些专家所说的那样,写Python代码就如同写伪代码。

此外,Python是一门通用语言,基本啥都能干。然而R比较专,只是擅长统计分析和可视化。

我想澄清一下,不是说R不能写软件。只是更多人喜欢用Python去建立产品软件。因此作为数据科学家,如果你想创立软件系统,我觉得Python比R更合适。

2.3 想搞机器学习,学Python

如果你想长期从事机器学习方面的研究,我建议你学Python。

其实R也有机器学习生态系统。特别地,R的 包开发得很好,它有能力完成各种机器学习任务。比如:使用包建立回归模型(regression model)、支持向量机(SVM)、决策树(包括回归和分类)以及执行交叉验证(cross validation)等等。总之,R的机器学习生态系统发展得很好。

但是,Python在机器学习方面的支持出现更早。为实现各种不同机器学习方法,Python的库提供了一套更加简洁和易读的语法。而R中包的语法有时有点拙劣。尤其,包与包兼容得不是很好,输出的结果有时也很难处理。相反,Python的库与Python生态环境整合得很好。

市面上有关机器学习的书籍,其算法实现很多都是用Python写的。

总之,如果你想致力于机器学习,我认为Python会更好。

2.4 想搞深度学习,学Python

深度学习可谓是目前人工智能领域最热门的技术之一,而Python是深度学习使用最热门的语言。

大多数深度学习框架都有Python接口,比如:TensorFlow,Keras,Pytorch,Theano,MXNET等等。

Python与各框架兼容得非常好,拥有大量贡献者、搜索结果、相关书籍和学术文章;Github上的深度学习项目大多数都是用Python写的。如果你是刚入门深度学习的新手,使用Keras是不错的选择。

相比较,R对深度学习框架兼容方面表现不佳。因此如果你想专注深度学习,Python可能更适合。

3. 总结一下:

学R还是Python要还是依耐你的背景以及你的目标。

如果你没有任何编程经验,建议你先学R;如果你想学数据可视化,我认为R的包是最好的工具;如果你想专门从事数据分析和数据挖掘,R表现更优秀。

如果你想成为机器学习专家,Python的库可以好好研究一下;如果你想开发软件系统,Python更合适。

还有一些其它因素可能影响你的决定,比如:

  • 如果你的大多数同事或朋友都在使用某种语言,那么你可以也去学那门语言,因为遇到问题可随时咨询他们。

  • 如果你想去的公司都在使用某种语言,你也可以学那门语言,到时候就不需任何相关培训了。

俗话说,技多不压身,你还有**第三个选择:R和Python都学。**实际上很多顶尖数据科学家这两门语言都会。**不过对于新手,一次只学一门。**同时学两门会让你很混乱,学习周期会拉长,事倍功半。

番外篇:R or Python,到底学哪个?这篇文章来告诉你......

文章知识点与官方知识档案匹配,可进一步学习相关知识Python入门技能树首页概览210380 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年9月6日
下一篇 2018年9月6日

相关推荐