首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python&R

今天介绍两种数据挖掘常用的编程语言:Python和R语言。人工智能大潮,各位想入门的小哥哥小姐姐了解一下?

得益于开源的生长土壤,二者都有着丰富的功能包,帮助使用者在各种应用场景下便捷高效地完成任务,而且外部包发布更新频率高,使用新技术必备。那么二者各自有什么特点呢?小编主要从以下几个方面来简单介绍:

01.

优势

Python和R都算是比较成熟的编程语言。Python发明于上世纪九十年代,是一种面向对象的解释型编程语言,最重要的一点,Python很优雅,发展至今,有一句话你应该听说过:“人生苦短我用python”。 为什么这么说呢,因为Python有以下几个特点:

开发效率高

维护成本低

标准库多

代码量少

所以说啊,时间这么宝贵,搬砖节省的时间可以做其他更有趣的事(来呀~快活啊~逃)

(图片来源于网络 侵删)

那么R语言呢?它比Python早出生十年,由S语言演化而来,与其说是编程语言,更多的人把它称之为解释性统计分析软件,软件相对于编程语言有什么特点呢?简单随意好用!R具有很强的互动性,每一行代码都可以执行输出结果到控制台,bug几率低,一切都在你的掌握之中~ 此外,R具有较强的统计分析能力以及数据可视化能力,毕竟是统计学家们更钟爱的编程语言,这方面的包很多,比如mle(极大似然估计)、鼎鼎大名的ggplot2(统计绘图工具)等。

02.

劣势

这两种语言短板呢主要还是在运行速度上,不过对于算法编写来说大多数情况还是可以胜任的,处理大数据的话实在不行还可以上分布式呢,实在实在不行关键代码改成C++可以了吧(手动捂脸)。

特别说一下,通常情况R是单线程的,所以强大的多核CPU并没有卵用,更可怕的是R会把全部数据丢进内存,这在某些情境下成为了一个性能瓶颈,虽然Linux可以把数据装载到磁盘上但是却增加了IO开销(内存和磁盘数据读写),针对R的性能优化办法也有很多(比如可以使用parallel包进行多线程编程),这个我们慢慢来分享啦~

03.

交互

Python和R并不是互相独立无关联的语言,他们可以互相引用对方的代码,比如在R中用户可以通过rPython包运行Python代码,从Python传递或获取数据,调用Python函数或者方法。而在Python中也可以使用RPy2包运行R代码,这提供了一个从Python到R的底层接口。如果你的某个功能模块不想重写,那就直接拿来用吧~

04.

使用

Python的IDLE(集成开发环境)有很多啦,比如PyCharm、IDEA等等,大牛不需要补全提示神马的可以用nodepad++ 、sublime text等纯文本编辑器。R自己的开发环境GNU界面比较简洁,如果追求更多功能的话RStudio是个不错的选择,甚至Eclipse,任君选择。

这里我们给出几个示例代码,让大家对比一下字符串逆序:

== python ==

importtensorflowastf# 我会告诉你这句是乱入的吗

defstrRevers(str):

'''

:paramstr: 输入一个字符串 abc

:return: 输出他的逆序 cba

'''

returnstr[::-1]

if__name__ =='__main__':

print(strRevers("Hello python3!"))

== R ==

paste(rev(unlist(strsplit("Hello R!", NULL))),collapse="")

都是一行KO,python看起来更优雅~

05.

资源

== python ==

官网:https://www.python.org/

找包:https://pypi.python.org/

== R ==

官网:https://www.r-project.org/

找包:https://cran.r-project.org/

下载R以及大神们开发的软件包都在这里啦,直接在包列表里面搜索关键字就能找到想要的包,比如我搜索 tensorflow:

声明:小编认知有限,欢迎拍砖~

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180417G1SQ8Y00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券