V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
ShiehShieh
V2EX  ›  Python

马上就要开始做机器学习相关的课题研究了,不知道 R 和 Python 这两门语言在机器学习和科学计算中担任的角色是什么?表现如何?

  •  2
     
  •   ShiehShieh ·
    ShiehShieh · 2014-11-05 08:25:44 +08:00 · 6173 次点击
    这是一个创建于 3670 天前的主题,其中的信息可能已经有所发展或是发生改变。
    其实是一个生物学的课题,不过会有大数据和机器学习的知识需求,主要是给新人一个在课题中提升的机会,所以课题难度不会很大,我想借这个机会了解Python和R在机器学习和统计中的,额,怎么说呢,就是有一个认识吧。
    大大们来给点意见吧。
    40 条回复    2015-04-26 22:13:11 +08:00
    hellojinjie
        1
    hellojinjie  
       2014-11-05 08:31:03 +08:00
    用R吧,现在R很火
    bigtan
        2
    bigtan  
       2014-11-05 08:45:11 +08:00
    建议上Python,R是开源库多,找到就可以立马上手的那种,如果需要自行编写一些东西的话,Python会好很多。
    nooper
        3
    nooper  
       2014-11-05 08:49:47 +08:00   ❤️ 2
    R is the best tools for biology.
    skywalker
        4
    skywalker  
       2014-11-05 08:59:58 +08:00
    都学很难吗?
    ShiehShieh
        5
    ShiehShieh  
    OP
       2014-11-05 09:03:01 +08:00
    @skywalker 不是都学很难啦,就是要有一个侧重点吧。
    ShiehShieh
        6
    ShiehShieh  
    OP
       2014-11-05 09:04:23 +08:00
    @skywalker 我的确都在学。 T-T
    wodemyworld
        7
    wodemyworld  
       2014-11-05 09:13:28 +08:00
    机器学习比较难,python、R都不算难
    llhh
        8
    llhh  
       2014-11-05 09:16:52 +08:00
    R 一头雾水中。
    qian19876025
        9
    qian19876025  
       2014-11-05 09:21:33 +08:00
    如果论库的话 matlab 没说多 谁敢说多
    yanguango
        10
    yanguango  
       2014-11-05 09:37:33 +08:00
    Matlab吧,用了Matlab后,就不想用Python写了
    skywalker
        11
    skywalker  
       2014-11-05 09:49:43 +08:00
    @ShiehShieh 可以侧重python,因为python毕竟是一种应用范围更广的语言,除了解决你课题的问题,平常也可以用。我对R只知道皮毛,但在统计这个领域里毫无疑问更强(库和生态)。
    liyu
        12
    liyu  
       2014-11-05 09:55:36 +08:00
    大数据和机器学习,还是效率高点的语言,Matalb也可以啊,R和py就算了
    deben
        13
    deben  
       2014-11-05 10:02:53 +08:00   ❤️ 1
    怎么感觉这个问题是典型的知乎体
    sneezry
        14
    sneezry  
       2014-11-05 10:10:49 +08:00 via iPhone
    Lisp大法好(我跑题了,掩面…)
    staticor
        15
    staticor  
       2014-11-05 10:10:57 +08:00
    用用就知道了 处理不同数据或者提交不同结果的话选择工具不同.
    要是给新人介绍的话看新人程度, 喜欢界面的就 r(rstudio先哄一下)
    喜欢大黑背景coding的就上python 引几个包的例子.

    免费又好用 各有千秋:
    bigtan
        16
    bigtan  
       2014-11-05 10:13:27 +08:00
    @qian19876025 matlab在时间序列分析上库是没有R丰富的。
    bigtan
        17
    bigtan  
       2014-11-05 10:14:03 +08:00
    @liyu 效率的话,Python上scipy之后可以和MATLAB不相上下
    Todd_Leo
        18
    Todd_Leo  
       2014-11-05 10:14:32 +08:00
    以前我一头雾水的时候, 去看了The R Inferno(R地狱), 豁然开朗不少 RT @llhh R 一头雾水中。
    bigtan
        19
    bigtan  
       2014-11-05 10:14:45 +08:00
    @staticor IPython很漂亮啊
    vickyphan
        20
    vickyphan  
       2014-11-05 10:30:00 +08:00
    matlab 感觉 上手快点把 基本 学校以前 都有学
    berry10086
        21
    berry10086  
       2014-11-05 10:47:58 +08:00 via Android
    建议python
    以前上概率论课的时候用r写过作业,感觉这个语言设计的太复杂,用起来无比蹩脚,还是python舒服
    taobeier
        22
    taobeier  
       2014-11-05 10:58:33 +08:00
    这种方面 用R可能会更好一点
    robbielj
        23
    robbielj  
       2014-11-05 11:07:33 +08:00 via iPad
    这俩要配合着用
    py有pandas,要处理大数据很有用,但是计量方法的实施又是R强,毕竟是专业的,历史沉淀py短时间赶不上。
    machine learning的教材我看过py和r都有,所以一定程度也看个人选择了

    matlab我记得没错的话已经开始被大牛们bs了
    conge
        24
    conge  
       2014-11-05 11:09:17 +08:00
    机器学习的实现,基本上看数据量。
    数据量小,什么语言都可以搞。R发展很迅速,很多统计学家给写package。Python的实现少一些。但都不如matlab多。

    数据量大的时候,就看算法和分布式计算了。这时用matlab搞,就太贵了。 R和Python免费的优势就出来了。

    R在学术界用得多一些。
    liyu
        25
    liyu  
       2014-11-05 11:35:09 +08:00
    @bigtan 说matlab也可以的原因不是效率了,是数据处理matlab更容易,特别在机器学习上
    liyu
        26
    liyu  
       2014-11-05 11:36:12 +08:00
    @bigtan 而且科学计算py好像也不行
    pande
        27
    pande  
       2014-11-05 11:39:08 +08:00
    python可以在线上用,大规模的ml建模也常用。 现在spark,map-reduce等都支持python。
    R的话做做实验,预研, 小规模的模型是ok的
    Taivas
        28
    Taivas  
       2014-11-05 13:22:00 +08:00
    R做研究,P做工程
    ShiehShieh
        29
    ShiehShieh  
    OP
       2014-11-05 14:03:14 +08:00
    @liyu 科学计算不行? 0.0
    ShiehShieh
        30
    ShiehShieh  
    OP
       2014-11-05 14:08:02 +08:00
    @staticor
    @conge

    教授的意思是让我们用R来写,因为Matlab太贵了。诶嘿嘿。
    嗯嗯,还有就是Matlab的分布式。。。
    liyu
        31
    liyu  
       2014-11-05 15:53:04 +08:00
    @ShiehShieh 相对来说的 Matlab
    staticor
        32
    staticor  
       2014-11-05 16:37:59 +08:00
    @ShiehShieh 嘿嘿是呀 刚一上来就用matlab sas以后去了穷公司可咱办:(
    JamesRuan
        33
    JamesRuan  
       2014-11-05 19:09:51 +08:00   ❤️ 1
    matlab和R从语言设计上半斤八两,计算速度上我只知道R的函数调用和字符串处理实在太弱。

    所以,用python会好很多,只是这个语言本身是比较现代的,只是相比于R,缺少很多专用的package,当然,你自己会写的的话,一点问题都没有。
    ctexlive
        34
    ctexlive  
       2014-11-10 23:29:21 +08:00 via Android
    @liyu python scipy会慢?而且它还有商业授权的计算加速模块。你去看 新型计算语言 julia 他们有比较,matlab不算快的。
    ctexlive
        35
    ctexlive  
       2014-11-10 23:31:15 +08:00 via Android
    建议有时间能学python就学吧 对你没有任何坏处。它不仅仅用来计算。而R除了计算做研究还能干嘛。你在学校时间多了去了,同时学一点问题都没有。
    ShiehShieh
        36
    ShiehShieh  
    OP
       2014-11-11 13:30:05 +08:00
    @ctexlive 嗯嗯,我本来就是用python做的,只是教授让我以后用R做他的课题,所以来问问啦。^_^
    zerh925
        37
    zerh925  
       2014-11-14 03:11:43 +08:00
    @yanguango 请问花了多少钱买licence呢?
    yanguango
        38
    yanguango  
       2014-11-14 05:49:06 +08:00
    @zerh925 学校提供免费版本用的
    eeeeeeve
        39
    eeeeeeve  
       2015-04-26 12:51:35 +08:00
    @conge 都有哪些统计学家给R些Package呢?
    conge
        40
    conge  
       2015-04-26 22:13:11 +08:00
    @eeeeeeve 这个我就不知道了。
    要做这件事,恐怕得统计所有R Packages的作者们,然后看他们的职业了……
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1177 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:17 · PVG 02:17 · LAX 10:17 · JFK 13:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.