Beta

It’s a beautiful thing when free data meets free algorithm.

R 2.14.0 版本以后,parallel 包被作为核心包引入 R,这个包主要建立在 multicore 和 snow 包的工作基础之上,包含了这两个包大部分功能函数,以及集成了随机数发生器。

实际上对于R来说,并行化可以在不同的层级上实现:比如,在最底层,现在的多核CPU可以实现一些基础的数值运算(比如整数和浮点算数); 高级一点的,一些扩展 BLAS 包使用多线程并行处理向量和矩阵的操作,甚至有些R扩展包,通过调用 OpenMP(注释1)或 pthreads 来使用C 级别的多线程方式。

阅读全文 »

第13期KDnuggets 关于数据挖掘软件的调查结果新鲜出炉,调查了对于过去的 12 个月里实际的项目过程中使用了哪些数据挖掘(分析)软件?不出所料,底层语言使用频率最高的是依旧是 R 语言、SQL、Java和 Python。而从软件工具角度上看,R、Excel和RapidMiner则名列三甲(去年R排名第二),具体排名如下图:

可以看到,排名靠前的以开源软件为主,商业软件则相对靠后。造成这种现象的原因很多,其中一条比较重要的因素就是当今社会复杂的数据环境,必须有更加灵活的软件做支持,灵活则是生命力。这个角度上看,闭源的商业软件依旧停留在上个世纪 70 年代 batch 的方式,曾经积攒的优势越来越不明显。

对于同 R 语言同级别的 SAS 而言,在这个调查下其使用流行度进一步萎缩。甚至有人估计,2015 年将是 SPSS 和 SAS 历史的终点。

其实我不太想看到这一天~~

在我还没回过神的时候,今年的 R 语言会议北京场己经结束,伴随着早上迷糊的送走李舰,意味着这次相聚终于曲终人散。本来我不是伤感的人,但今天看到邱怡轩师弟的一句微博:

感谢几位引路人。@谢益辉 @刘思喆 @雁起平沙 @thinkfan

这个中滋味……

这些年,和周围的朋友们一起成长,一起为了一个目标努力。大家同分享,同分担,俨然一个大家庭一样,想到马上这些优秀的师弟、师妹们都会远赴大洋彼岸,真的很失落。

R会议结束后,大家又一起和熊师妹过生日party,遥想去年还有江堂,现已身居美帝。紧接着就是轩、熊和岚,明年的这时候再聚又会少了很多。也许相聚的次数越来越少,正如堰平所说,有的人一转身就是一辈子。

最后来张照片——非常荣幸能够受到伯克利统计系郁彬教授的教诲。郁老师同大家分别时,饱含深情的一席话:

You are the future of statistics!

与致力于统计事业的各位共勉!

前段时间在老家给小舅子补习高中数学,其中有一道数列的求解,题目是这样的:

  • a_1 = 1
  • a_2 = 1
  • a_n = a_(n-1) + a_(n-2)

求 a_n 的通项表达。

解题思路是先构建等比数列 b_n,再将等比数列 b_n 变形回 a_n ,求得通项。 这道题实际就是费波那西数列的初等代数求法。费波那西数列在科学、自然界等很多领域都有表现, 比如我们常说的黄金分割比(1.618),即是两个相邻费波那西数的比值

f(n + 1)/f(n) = (1 + sqrt(5))/2

还有美丽的向日葵的花盘中果实:

阅读全文 »

一直以来,我们在提到使用R进行数据分析、数据挖掘都会使用RODBC、RJDBC、DBI等相关的包来调用数据库,比如我前面罗嗦的一片文章数据挖掘之R与SQL,但实际基本上各大数据库厂商已有相应的R语言企业级应用产品,这些厂商包括Oracle、IBM、Teradata、Sybase、SAP。

Oracle R Enterprise

Oracle R Enterprise是针对于大数据市场下,用于处理日益丰富的数据。这款产品有以下优势:

企业级的R应用

  • 允许DBA将R语言模型产品化
  • 可以将R模型整合到BI仪表盘(BIEE)
  • 统计学家可以直接使用数据库,而不需去了解具体SQL
  • 减少Oracle数据库外的数据管理成本

减少高昂SA$的使用费用

  • 可完全替代SA$ base,节省SA$的使用年费
  • 分析人员可以直接面对数据库进行个性化分析,而不需要数据导出
  • 超过100内置的统计函数可以同Base SA$兼容

大数据分析的in-database支持

  • 高性能的代数运算(在 R 中整合ntel's Math Kernel Library
  • R语句的执行的使用并行化运算方式(包括扩展包)
  • 高度整合了R语言快速开发、数据库并行计算的优势

众所周知,R 语言将数据置于内存,数据处理能力有限,Oracle R Enterprise 将此瓶颈完全打开,并将性能提升到更高级别。

IBM Netezza®

Netezza 并不隶属于IBM原有产品线,而是针对于“一体机”市场,于2010年17亿美元的价格收购获得, 用以扩张其用于销售、市场营销和产品开发的商务分析产品。Netezza对R语言的支持,主要通过Revolution合作, 通过调用R Enterprise from Revolution® Analytics平台来实现。Netezza的特点可以总结为:可扩展的、高性能的、大规模内置并行分析平台。

注:除了R语言外,Netezza还支持SAS、PASW等分析软件

IBM® InfoSphere® BigInsights

IBM BigInsights 同样也整合了R语言资源,提供了Map-Reduce架构的R语言并行化计算环境,包括了大数据集的文本挖掘和机器学习算法。 BigInsights可以将构建的R语言模型发布在Hadoop平台上(同IBM Netezza一样,通过调用R Enterprise from Revolution® Analytics),极大的满足企业级数据需求。

注:为 IBM 提供R语言商业化应用的公司是 Revolution,关于这家公司可以参考这里

SAP HANA

借助SAP BusinessObjects Predictive Analysis平台,分析师们既可以使用内置的预测性算法来构建模型,也可以整合并使用流行的开源数据统计分析语言——R语言。并且,依托SAP HAHA平台可以提供in-database分析。

Teradata

Teradata提供了免费的 teradataR 包,用于在R环境下连接Teradata数据库、创建数据、条用in-database分析函数。

  • 避免了从 Tetadata 到 R 之间的数据移动,有效提高了数据运算性能
  • 针对于大数据的分析任务,使用 Teradata 的强大并行计算的能力
  • 允许在R控制台操作
  • 将常用的执行任务嵌入到数据库中执行
  • R 和 TetadataR 都是免费的

Sybase RAP

Sybase RAP主要是针对于金融市场的实时分析,其中RAPStore组件提供了内置分析函数,包括时间序列分析函数、OLAP函数、R语言整合函数以及用户自定义函数,适用于大数据环境。

同时,还可以在R语言环境下通过RJDBC访问Sybase RAP,进行数据预处理,避免在R中数据清洗占用大量内存。

全文完,请期待 R + Hadoop

0%