Home >Database >Mysql Tutorial >数据挖掘编程语言选择(Python与R的PK)

数据挖掘编程语言选择(Python与R的PK)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-07 16:03:321161browse

数据挖掘技术日趋成熟和复杂,随着互联网发展以及大批海量数据的到来,之前传统的依靠spss、SAS等可视化工具实现数据挖掘建模已经越来越不能满足日常需求,依据美国对数据科学家(data scientist)的要求,想成为一名真正的数据科学家,编程实现算法以及编程

数据挖掘技术日趋成熟和复杂,随着互联网发展以及大批海量数据的到来,之前传统的依靠spss、SAS等可视化工具实现数据挖掘建模已经越来越不能满足日常需求,依据美国对数据科学家(data scientist)的要求,想成为一名真正的数据科学家,编程实现算法以及编程实现建模已经是必要条件;目前很多从事数据挖掘工作的人,大多都是出身非计算机专业,本身对编程基础比较低,所以找到一门快速上手而又高效的编程语言是至关重要的,好的工具和编程语言可以起到事半功倍的效果。

目前在数据挖掘算法方面用的最多的编程语言有:Java、C++、C、Python、R等等

由于笔者本身属于数理统计出身,复杂而高级的语言对我来说性价比并不高,所以想从头对Java、C++、C开始学起,浪费的时间和精力与收获明显不成正比。所以Python和R语言成了最佳选择。对于同样和我背景相似的数据从业人员,我强烈推荐从这两者选择其一。

原因有三:
第一:Python和R本身在数据分析和数据挖掘方面都有比较专业和全面的模块,很多常用的功能,比如矩阵运算、向量运算等都有比较高级的用法,所以使用起来产出比大;

第二:这两门语言对于平台方面适用性比较广,linux、window都可以使用,并且代码可移植性还算不错的。

第三:对于学数理统计的人来说,应该大多用过MATLAB以及mintab等工具,Python和R比较贴近这些常用的数学工具,使用起来有种亲切感

至于Python和R两者如何选择,本人有点粗浅认识:

这两个工具都很方便,不需要非常高深的编程能力,都适合算法开发,有大量的package供你使用。

Python入门简单,而R则相对比较难一些(纯个人感觉,依据每个人之前的经验,可能不同的体验)。
R做文本挖掘现在还有点弱,当然它的优点在于函数都给你写好了,你只需要知道参数的形式就行了,有时候即使参数形式不对,R也能“智能地”帮你适应。这种简单的软件适合想要专注于业务的人。
Python几乎都可以做,函数比R多,比R快。它是一门语言,R更像是一种软件,所以python更能开发出flexible的算法。

Python适合处理大量数据,而R则在这方面有很多力不从心,当然这么说的前提是对于编程基础比较一般的童鞋,对于大牛来说,多灵活运用矢量化编程的话,R的速度也不会太差。

论性能,Python介于C/C++/Java这些高级语言与R语言之间,虽然性能不及那些高级语言,但是一般日常的数据用Python基本都能实现,对于性能要求不挑剔的人来说,足够了

python 你需要安装numpy,pandas,scipy,cython,statsmodels,matplotlib 等一系列的程序包,还需要安装ipython交互环境,单独用python直接做计量分析统计函数是没有函数支持的;R是基于统计分析的,性能和效率上要略逊于python。R的优势在于统计学和数据计算和分析上要优越于python。

Python语言编程的代码可读性高,整体美观,属于简单粗暴性质的,短时间内少量代码可实现复杂功能;R的语法很奇怪,各种包并不遵守语法规范,导致使用起来经常感觉蛋疼;R程序最终看起来没有Python那么简洁美观。

从全面性方面,我认为Python的确胜过R。无论是对其他语言的调用,和数据源的连接、读取,对系统的操作,还是正则表达和文字处理,Python都有着明显优势。毕竟,python本身是作为一门计算机编程语言出现的,而R本身只是源于统计计算。所以从语言的全面性来说,两者差异显著。

python是machine learning领域的人用的较多。据我所知,做marketing research, econometrics, statistics的人几乎没有用python的
当然了,现在学编程比以前可简单了多了。有句话不是这么说的么,“我不生产代码,我只是stackoverflow的搬运工”。。。
以上仅仅是个人感悟,如表述不当,欢迎指出,拍砖的手下留情哦

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn