免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: send_linux

【数据挖掘系列讨论】数据挖掘编程工具大讨论--R和Ruby(获奖名单已公布-2013-6-7) [复制链接]

论坛徽章:
0
发表于 2013-03-06 13:39 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
发表于 2013-03-06 14:23 |显示全部楼层
jamesr 发表于 2013-03-06 13:39
玩过一点R,只知道R是functional的。


嗯,现在做数据分析据说这个很火,而且现在大数据和数据分析的热浪已经在国内掀起,不知道兄台是否能够分享一下R的入门常识呢?

论坛徽章:
3
CU大牛徽章
日期:2013-03-13 15:29:07CU大牛徽章
日期:2013-03-13 15:29:49CU大牛徽章
日期:2013-03-13 15:30:19
发表于 2013-03-06 14:56 |显示全部楼层
1、您在数据挖掘和数据分析中使用何种编程语言,有何经验?

   在WEB开发里一直用PHP,曾用过RUBY和PHP做些简单的数据分析。我不是专门做数据分析的。不过看数据分析人员居然还停留在计算器和一些SQL工具上。而且做的事情还有点死板。

2、Ruby和R语言的配合,在数据分析中优缺点是什么?
   很早就听说过R,但是一直没有用过R语言。对数据分析也只是知道一点皮毛。

    有一点不明白,这本书和PHP中高级开发人员有何直接关系?书名是《R和Ruby数据分析之旅》,但是介绍里却是:本书系统归纳和深刻解读了PHP开发中的编程思想、底层原理、核心技术、开发技巧、编码规范和最佳实践。

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
发表于 2013-03-06 15:28 |显示全部楼层
通过令人抓狂的SQL脚本,进行过简单的数据分析。。。

论坛徽章:
0
发表于 2013-03-06 17:44 |显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
发表于 2013-03-06 17:49 |显示全部楼层
语言不是问题,关键看哪个的相关库多。

论坛徽章:
0
发表于 2013-03-06 20:16 |显示全部楼层
只要你对技术有热情 ,自认为很聪明,还有一些些小癖好小坚持就更好了,百姓网欢迎你这朵奇葩!是骡子是马咱们拿出来溜溜就知道啦!高手过招,请发简历至hr@baixing.com

数据仓库工程师

必须的条件:
(1)数据仓库、BI系统1年以上的工作经验,必须有实际项目经验;
(2)熟悉并在实际项目中应用过SQL Server、Oracle、DB2、MySql、Postgresql这几种关系型数据库中的一种或几种;
(3)熟悉并在实际项目中应用过SSRS、Cognos、Brio、Microstrategy、BO这几种报表系统中的一种或几种;
(4)熟悉数据仓库模型的概念;
(5)程序设计和开发能力,以下技能是必备的:Linux Shell Programming,Java (J2SE) Programming,脚本语言 Perl/PHP/Python/Ruby 中至少一种;
加分条件:
(1)熟悉并在项目中实际应用过Microsoft SQL Server 2008、SSRS、SSAS;
(2)研究或在项目中实际应用过Hadoop Hive;
软技巧:
(1)良好的沟通、梳理、总结能力;
(2)面向非技术人员进行培训的能力;


系统工程师

技能要求:

Linux爱好者,2年以上的Linux运维经验(必须项)
独立维护过多台服务器,能处理常见的硬件问题必须项)
熟悉TCP/IP会话过程和相关系统命令,如熟悉Linux下的防火墙配置必须项)
熟悉Shell编程(必须项)
本科及以上学历(必须项)
有责任感,能让人放心地把事情做好
思路清晰,思维敏捷,能快速定位和解决问题
有交换机/路由器等网络设备管理经验的为佳(加分项)

更多职位需求,请点击jobs.baixing.com  

论坛徽章:
7
巳蛇
日期:2014-04-10 08:54:57白羊座
日期:2014-04-22 20:06:262015年亚洲杯之沙特阿拉伯
日期:2015-02-10 14:18:532015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之吉达阿赫利
日期:2015-06-02 11:34:112015亚冠之武里南联
日期:2015-06-24 12:13:082015亚冠之阿尔纳斯尔
日期:2015-08-03 09:08:25
发表于 2013-03-07 13:08 |显示全部楼层
本帖最后由 Monox 于 2013-03-07 13:27 编辑
jamesr 发表于 2013-03-06 17:44 R的作图功能(好像是使用gnuplot)也很强大

不,R 的作图功能使用的不是 gnuplot,使用 gnuplot 的是 Octave,Octave 语法和 MatLab 很像,可以认为是 MatLab 的一个开源实现。而相对的 R 软件是对 AT & T 设计的 S 语言的一个开源实现,R 有两个作图系统,一个基本的 graphics 系统是源自 S 语言的绘图系统,提供一般的科技图形支持,满足常规的科技图形输出。后来,有人提出 panel 形式的新的数据展示形式,S 语言在修订中实现了这个新的绘图系统(不记得名字了)。然后,R 语言也想实现这个新的绘图系统,不过,这次它没有去实现 S 语言的作法,而是重头开始实现一个并列于基本 graphics 系统的图像系统叫 grid,然后基于这个 grid 实现了 panel 形式的数据展示模块,称作 tetris。为了向后兼容,R 默认只载入 graphics 系统,grid 系统需要手动载入。不过,grid 系统提供了现代绘图系统常见的 primitive,除了可以绘制有坐标轴的科技图形外,绘制没有坐标轴的其它图形也很方便。grid 系统在设计上具有很多优点,因此 R 软件仓库里提供的大多数图形模块都是基于 grid 系统实现的。R 支持输出各种格式的图形输出,包括像素图和矢量图,这些格式有低层的图形引擎实现。我在工作中常使用的是 pdf 格式的输出。不过,有两个引擎支持 pdf 输出格式,一个是很早就实现的内建的 pdf 引擎(通过 pdf()调用),这个引擎存在一个很大的问题,就是 Unicode 的支持很有限,操作比较麻烦,不过,对于只需要 ASCII 输出的绘图任务远远足够。最近引入的另一个引擎基于 cairo 库实现,提供的 pdf 输出原生支持 Unicode,对于需要使用中文的比如中国学生,建议使用这个输出引擎(通过 cairo.pdf()调用)。对于网页开发者来说,R 也可以输出 SVG 的格式(至少我所知道的,cairo 引擎提供了 SVG 输出)。R 的绘图系统有一点是大多数统计软件没法比的,那就是它提供了与 TeX 系统类似的数学公式标注功能。因为这个基本的数学标注功能已经满足我的需求,不满足的时候我都使用 MetaPost/MetaFun 实现,所以没去关注 R 的 pgf (甚至可能有 MetaPost) 引擎,不过我想说的是这样的引擎是有的(虽然目前好像是由第三方模块提供的功能,不过即使不想使用第三方模块提供的输出引擎,R 很早之前就实现的 pictex 输出引擎也可以很方便的与 TeX 系统整合),可以直接与 TeX 系统整合。

上面一大段都是关于 R 的绘图的,因为绘图功能是 R 的一大卖点嘛。接下来说说其统计方面。R 内建常见的统计模形,对于一般的分布,回归等各类统计分析需求都可以满足,对于矩阵运算也提供很好的支持。而且 R 的很多函数是通过 C 语言或者 Fortran 语言实现,如有需要你自己也可以很方便的用 C 语言或者 Fortran 语言对 R 进行扩展。不过,R 语言(目前)不适合处理大批量数据,一是内存限制,二是速度。关于内存问题,已经有开发人员在实现 R 的大内存数据支持实现。关于速度问题,最近引入的 compile 模块可以把 R 模块编译成字节码,从而提高速度,此 compile 模块在编译 R 的时候现在已经默认启用。不过 R 设计上的问题,特别是 R 没有标量,只有矢量数据类型,导致 R 没必要的使用了大量内存,并使速度大幅降低,因此也有人主张重新实现 R。R 的创始人之一也是 R 图形系统的主要实现者和维护者(名字懒得去查了),曾建议把 R 的统计及绘图功能移植到 Lisp (可能是 Scheme 而不是 Lisp,不记得了,不过 Scheme 本身也可以认为是 Lisp 的一个分支吧)语言上,他发表过一篇文章详细的说明在 Lisp 上做统计是多么方便,然后效率是多么高,几乎可以和 C 媲美,不过很可能这个项目已经死了吧,至少我找不到最新的进展。有很多其它尝试重新实现 R 的项目也都死掉了,目前我知道的还活着的一个项目是正在用 C++ 重写 R,这个项目大概叫 CXRR 还是 RCXX 什么之类的吧,忘了。

R 语言里把函数作为第一类值,很多人把 R 归为函数式语言,不过 R (S) 的设计借鉴了很多种语言,包括函数式语言以及面向对象语言,R 也支持对象的概念,可以使用面向对象方式实现数据操作。其实我想说的是,虽然很多人把 R 归为函数式语言,但是 R 语言很容易学会和使用(在一个星期内学会 R 是可能的),不会像 Haskell 那样的纯函数式语言让很多人望而生畏,或者要投入很多精力,把大脑 reset 才能掌握。

还有,R 也提供把数据转换成网页形式的功能,对于统计报表的公共展示可以削除网站搭建的大多数工作。

接下来谈谈 Ruby,我以前是使用 Perl 的,不过,Ruby 是更现代的实现面向对象的语言,因此我后来更多的使用 Ruby。Ruby 提供大多数 Perl 的功能,而且代码简洁美观。不过,我在使用 Ruby 的过程中总有一种感觉,就是 Ruby 语言本身像一个半成品一样,有很多它应该支持的功能却没有实现,并不是说不实现这些功能就没办法工作,而是让人感觉只有实现了那些功能才是 Rubist,因为 Ruby 的目标是让编程变得愉快。举个例子,连 R 都实现的具名参数函数定义和调用,Ruby 却不支持。还好,最近 Ruby 2.0 发布了,刚才举的那个例子它现在就已经支持了,相信 Ruby 今后会更完善。

说到 R 和 Ruby 的结合,有一点特别要说的。我以前有个工作想在 Perl 里调用 R,不想用 Statistics::R 那种 dirty 的方法(该方法通过 system + print + read 实现),但是 RSPerl 模块(通过 C 连接)却几年没更新了,都没法在新发布的 Perl 里使用,相对的 RRuby(大概不是 RSRuby 吧,具体名字我忘了) 模块借鉴了 RSPerl 模块以及 RPython 模块的实现,并结合了 Ruby 语言的特点,这个模块有很强的 Ruby 味道,设计得很不错。对于从 Ruby 里调用 R 是一个相当不错的选择,它把 R 和 Ruby 无缝地结合起来,从而可以很好的解决 R 字符处理方面的不便,更重要的是可以充分利用 Ruby 的面向对象,元编程等特性把 R 整合进一个大型系统中,提供可维护的高效的(Ruby 比 R 在处理很多问题上高效)设计良好的大型系统。

评分

参与人数 1可用积分 +12 收起 理由
send_linux + 12 很给力!

查看全部评分

论坛徽章:
2
季节之章:冬
日期:2015-01-20 17:08:47IT运维版块每日发帖之星
日期:2016-02-24 06:20:00
发表于 2013-03-07 15:16 |显示全部楼层
用R的很多,但主要是在经济分析的人群中,作为SPSS、Excel、Matlab的替代。而Ruby在这个人群中基本没有市场。所以,R和Ruby是一个错位的人群。

论坛徽章:
7
巳蛇
日期:2014-04-10 08:54:57白羊座
日期:2014-04-22 20:06:262015年亚洲杯之沙特阿拉伯
日期:2015-02-10 14:18:532015年辞旧岁徽章
日期:2015-03-03 16:54:152015亚冠之吉达阿赫利
日期:2015-06-02 11:34:112015亚冠之武里南联
日期:2015-06-24 12:13:082015亚冠之阿尔纳斯尔
日期:2015-08-03 09:08:25
发表于 2013-03-07 19:31 |显示全部楼层
本帖最后由 Monox 于 2013-03-07 19:33 编辑
大邪神 发表于 2013-03-07 15:16
用R的很多,但主要是在经济分析的人群中,作为SPSS、Excel、Matlab的替代。而Ruby在这个人群中基本没有市场。所以,R和Ruby是一个错位的人群。

在生物信息领域 R 的使用也比较广泛(我相信 R 的用户在其它一些领域也比较多),而不仅限于经济分析,而 Ruby/Python 作为生物信息传统脚本分析语言 Perl 的代替品,受众越来越广阔,如今已经占有一份天地,而且 BioRuby 模块的设计上要比 BioPerl 来得好。所以 R 和 Ruby 的接合还是有可能的,更何况好的工具一般都可以向其它领域推广,而我个人对生物信息领域稍了解一点,所以就提到了该领域。

By the way, 有人说 RoR 是 Ruby 的杀手锏,有另一部分人说 Ruby 被 RoR 给害了。我最近在找工作,但是作为一个生物科学毕业的学生而不是计算机毕业的学生想进入 IT 行业还真难,特别是平时都凭兴趣学一大堆各种奇怪语言的业余编程爱好者来说。我还想着试试可不可以找个 Ruby 相关的工作来的,结果招聘条件都写有必需熟悉 RoR,RoR 都成 Ruby 的代名词了,或者说 Ruby 是 RoR 的代名词可能更合适。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP