数据挖掘编程语言选择(Python与R的PK)
来源:互联网 发布:书生软件手机版 编辑:程序博客网 时间:2024/06/10 07:56
数据挖掘技术日趋成熟和复杂,随着互联网发展以及大批海量数据的到来,之前传统的依靠spss、SAS等可视化工具实现数据挖掘建模已经越来越不能满足日常需求,依据美国对数据科学家(datascientist)的要求,想成为一名真正的数据科学家,编程实现算法以及编程实现建模已经是必要条件;目前很多从事数据挖掘工作的人,大多都是出身非计算机专业,本身对编程基础比较低,所以找到一门快速上手而又高效的编程语言是至关重要的,好的工具和编程语言可以起到事半功倍的效果。
目前在数据挖掘算法方面用的最多的编程语言有:Java、C++、C、Python、R等等
由于笔者本身属于数理统计出身,复杂而高级的语言对我来说性价比并不高,所以想从头对Java、C++、C开始学起,浪费的时间和精力与收获明显不成正比。所以Python和R语言成了最佳选择。对于同样和我背景相似的数据从业人员,我强烈推荐从这两者选择其一。
原因有三:
第一:Python和R本身在数据分析和数据挖掘方面都有比较专业和全面的模块,很多常用的功能,比如矩阵运算、向量运算等都有比较高级的用法,所以使用起来产出比大;
第二:这两门语言对于平台方面适用性比较广,linux、window都可以使用,并且代码可移植性还算不错的。
第三:对于学数理统计的人来说,应该大多用过MATLAB以及mintab等工具,Python和R比较贴近这些常用的数学工具,使用起来有种亲切感
至于Python和R两者如何选择,本人有点粗浅认识:
这两个工具都很方便,不需要非常高深的编程能力,都适合算法开发,有大量的package供你使用。
Python入门简单,而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是machinelearning领域的人用的较多。据我所知,做marketing research, econometrics,statistics的人几乎没有用python的当然了,现在学编程比以前可简单了多了。有句话不是这么说的么,“我不生产代码,我只是stackoverflow的搬运工”。。。
以上仅仅是个人感悟,如表述不当,欢迎指出,拍砖的手下留情哦
- 数据挖掘编程语言选择(Python与R的PK)
- 数据挖掘编程语言选择(Python与R的PK)
- R语言与数据挖掘(一)
- 数据挖掘与R语言
- 数据挖掘与R语言
- 数据挖掘与R语言
- 数据挖掘与R语言
- 想写点R语言的与数据挖掘的东西
- R语言与数据挖掘学习笔记(常用的包)
- R语言与数据挖掘学习笔记(常用的包)
- R语言与数据挖掘学习笔记(常用的包)
- R语言与数据挖掘学习笔记(常用的包)
- 数据挖掘与R语言-part1
- R语言与数据挖掘学习笔记
- R语言与数据挖掘学习笔记
- 数据挖掘与R语言练习1
- 【R语言与数据挖掘】-回归分析
- R语言与数据挖掘学习笔记(1):数据挖掘相关包的介绍
- Git 常用命令大全
- mybatis的框架原理+入门程序解析
- 用source 命令导入mysql数据库
- c语言"回文"判断
- 用Unity时,C#中List删除元素时出错
- 数据挖掘编程语言选择(Python与R的PK)
- 1011. A+B和C (15)
- 六度分离 hd 1869
- Android视频播放之vitamio播放视频(一)
- HDU 1596 find the safest road (最短路径----dijkstra)
- Linux 文件夹权限
- 11.leetcode Container With Most Water(medium)[分析规律减少搜索空间]
- iOS开发中,搜索结果与搜索关键字匹配的位置变色
- IOS内存管理ss