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

数据挖掘技术日趋成熟和复杂,随着互联网发展以及大批海量数据的到来,之前传统的依靠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的搬运工”。。。
以上仅仅是个人感悟,如表述不当,欢迎指出,拍砖的手下留情哦

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/293721.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android之内存机制分析-Android堆和栈

1、dalvik的Heap和Stack 这里说的只是dalvik java部分的内存,实际上除了dalvik部分,还有native。这个以后再说。 下面针对上面列出的数据类型进行说明,只有了解了我们申请的数据在哪里,才能更好掌控我们自己的程序。 2、对象实例…

这部纪录片带你重新认识中华神州大地,领略你不知道的中国

你对自己的祖国熟悉嘛?你是否真正的去了解过自己祖国的各个省份呢?今天小编带来的这部纪录片《你所不知道的中国》,带你认识一个你从未了解的中国,让你从纪录片的视角去认识自己的祖国,重新认识哺育自己多年的神州大地…

B-树特征

在m阶B-树的定义中,要求: 1、树中每个节点至多有m棵子树。 2、若根节点不是叶子节点,则至少有两棵子树。 3、除根之外的所有非终端节点至少有棵子树。转载于:https://www.cnblogs.com/tonglingliangyong/p/3740964.html

首届微软研究峰会视频上线,快来查收你的独家观看指南!

由微软全球八大研究院携手倾力打造的首届微软研究峰会 Microsoft Research Summit 2021 已于此前在线上成功举办。来自世界各地的 300 余位顶尖科学家和技术领导者为大家带来了 150 场精彩分享,内容围绕“科学、赋能、可持续发展、医疗健康、信任”五大主题展开&…

Linux命令之tree

tree功能说明&#xff1a;以树状图列出目录的内容语法&#xff1a;tree [-aACdDfFgilnNpqstux] [-l <范本样式>] [-p <范本样式>] [目录]补充说明&#xff1a;执行tree指令&#xff0c;它会列出指定目录下的所有文件&#xff0c;包括子目录里的文件参数&#xff1a…

关于用函数指针参数申请动态内存的问题

今天在写一个Binary Search Tree的程序时&#xff0c;发现其插入有问题&#xff0c;下面是插入程序&#xff0c;每次插入完成后&#xff0c;节点还是NULL。 template<typename Object>void CMyTree<Object>::insert(const Object& element, BinaryNode<Obje…

当全家人一起看电影,播到羞羞镜头时......

1 我看你好眼熟哦&#xff08;via.松鼠少儿&#xff0c;侵删&#xff09;▼2 妹妹&#xff1a;有没有想过我感受&#xff1f;&#xff08;素材来源网络&#xff0c;侵删&#xff09;▼3 遇见五步蛇怎么办&#xff08;via.阿森不是妖怪&#xff0c;侵删&#xff09;▼4 一年级…

网站分析常用方法

本篇文章我们介绍4种网站分析中最常用&#xff0c;也是最有效的分析方法。他们分别是细分分析&#xff0c;对比分析&#xff0c;对比分析&#xff0c;质与量分析。这些分析方法在实际工作中经常组合使用。我们先来看下细分分析。 1&#xff0c; 细分分析 单一的指标数据或大维度…

Jmeter录制app脚本

前期准备电脑安装Jmeter&#xff1b;手机&#xff1b;wifi;操作步骤&#xff1a;1、启动Jmeter2、“测试计划”中添加“线程组”&#xff1b;3、“工作台”中添加“HTTP代理服务器”&#xff1b;4、配置代理服务器&#xff1a;Global Settings下面的端口配置&#xff1a;9988&a…

PPT设计中的用图问题

好的图片对于PPT的重要性&#xff0c;这已是不争的事实。但是PPT设计者往往不是设计出身&#xff0c;因此在一些PPT案例中图片运用不当也是经常可以看见的&#xff0c;介绍一些图片的基本知识&#xff0c;希望有助于大家更好的理解图片&#xff0c;并且更好地在PPT中运用图片。…

浅谈C++类(1)--概念和构造函数

迎转载&#xff0c;但请标明作者 “九天雁翎”&#xff0c;当然&#xff0c;你给出这个帖子的链接更好。 类多么重要我就不多说了&#xff0c;只讲讲学习&#xff0c;因为个人认为类的学习无论从概念的理解还是实际代码的编写相对其他C兼容向的代码都是比较有难度的&#xff0…

asp.net webapi bug : System.OperationCanceledException 异常处理

asp.net webapi的过滤器 ExceptionFilterAttribute 捕获一个异常消息如下&#xff1a;检测到站点发生错误 "已取消该操作。"错误跟踪: 在 System.Threading.CancellationToken.ThrowIfCancellationRequested() 在 System.Web.Http.Filters.ActionFilterAttribute.d__…

vscode中vue项目报错

当在vscode中写代码时&#xff0c;报错报错报错......... 已经头大&#xff0c;还没写就报错&#xff0c; 这是因为eslint对语法的要求太过严格导致的编译时&#xff0c;出现各种语法格式错误 我们打开vue.config.js&#xff0c;加上这句代码&#xff0c;就OK啦 lintOnSave:…

nginx连接uwsgi使用web.py框架构造pythonweb项目

2019独角兽企业重金招聘Python工程师标准>>> 相关页面&#xff1a;http://webpy.org/installhttp://uwsgi-docs.readthedocs.org/en/latest/WSGIquickstart.htmlhttp://projects.unbit.it/uwsgi/wiki/Example uwsgi的安装需要python-devel&#xff0c;可以使用yum s…

《SAS编程与数据挖掘商业案例》学习笔记之九

继续之前的读书笔记&#xff0c;废话少说&#xff0c;直奔主题。 本文重点在infile语句。 十一&#xff1a;infile语句 Dsd 规定一个数据集可以包含分隔符&#xff0c;但是要用引号括起来&#xff0c;两个连续分隔符之间的数作为缺失值处理&#xff0c; 默认分隔符为逗号 Fir…

.NET WinForm程序中给DataGridView表头添加下拉列表实现数据过滤

转&#xff1a;http://www.cnblogs.com/jaxu/archive/2011/08/04/2127365.html 我们见过Excel中的数据过滤功能&#xff0c;可以通过点击表头上的下拉列表来实现数据的过滤&#xff0c;这个功能很实用&#xff0c;省去了我们需要在程序中单独设计数据的查询过滤模块&#xff0c…

减少联调、高效集成,试试这个工具

大家好&#xff0c;我是Z哥。最近在工作中学习到一个我觉得很有价值的小工具&#xff0c;在这里与大家分享一下。这个小工具需要自己稍作开发&#xff0c;并不存在什么第三方的现成工具供你使用&#xff0c;因为这个工具的核心关键是「数据」&#xff0c;而「数据」这个东西对于…

浅谈C++类(7)--析构函数

欢迎转载&#xff0c;但请标明作者 “九天雁翎”&#xff0c;当然&#xff0c;你给出这个帖子的链接更好。 不知不觉我都写了6讲了&#xff0c;的确这样讲出来的学习才能迫使我真的去调试每个书上出现的代码&#xff0c;去想些自己能讲出什么新的书上没有的东西&#xff0c;这才…