Beta

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

一直以来,我们在提到使用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

上一篇文章说道最近我在做文本挖掘方面的一些工作,到今天为止暂告一段落。刚好也整理了一份针对中文的《R语言环境下的文本挖掘》, 供感兴趣的童鞋参考(见文章底部)。

自然语言处理(Nature Language Process)是一个非常让人着迷的领域,应用范围非常广泛, 比如去年人机大战中大出风头的IBM Watson,iPhone 4S的语音助理模块Siri, 以及针对于社会热点的舆情分析,这些应用都使用了自然语言处理技术。 当然,统计背景的分析类科研人员更关注于舆情分析这类的文本挖掘技术。

很多统计软件都提供了文本挖掘的功能,比如常见的数据分析软件SAS、SPSS等,以及一些语言如Python、Java,侧重点有所不同。 但对于一般文本挖掘主要包括:

  • Preprocess:数据准备、导入、清洗以及一般性的预处理
  • Associate:关联分析,根据同时出现的频率找出关联规则
  • Cluster:将相似的文档(词条)进行聚类
  • Categorize:将文本划分到预先定义的类别里
  • API:可扩展的应用编程接口

至少在2008年,商业和开源软件的功能特性差不多 (但我不确认Latent Semantic Analysis、Latent Dirichlet Allocation这类的模型是否支持), 只是由于众所周知的缘故,对于API的扩展支持有所差异。

对于中文环境下的文本挖掘,无外乎要解决如下几个问题:

  • 较为精确的中文分词(可能还需要支持个性化题库,甚至词性分析)
  • 生成词条-文档矩阵,甚至矩阵的运算
  • 后续的挖掘算法支撑(传统的以及语义类的)
  • 其他

在R语言环境下,有众多的包支撑解决上述问题。 Ingo Feinerer开发维护的tm包提供了完整的文本挖掘的框架, 借助辅助工具及R包,甚至还可以处理word、pdf文档的读入,文档处理并行化运算,文件数据库的语料处理等问题。

闲话不多说,最下面链接给出了一份基于《Introduction to the tm Package》整理的,基于tm包的中文文本挖掘的介绍性文档,内容包含

  • 互联网网页处理:XML包的简介
  • 中文分词
  • tm包的完整介绍:读写、语料库构建、过滤、转化、元数据、文档-词条矩阵等
  • 文本挖掘技术及应用等

当然,作为非正式发布文档还有很多地方不尽完善,后续可能会有较大更新,请关注博客上的to do list。

文档下载:R语言环境下的文本挖掘

最近事情很多,每天下班回来,自己弄些东西吃,稀里糊涂就到了21点。跟着再浏览一下圈子信息,时间更是倏地一下就到了0点,然后第二天变熊猫……

主要在忙两件事

  • 翻译《R in a nutshell》,三月底应该会到出版社那边
  • 重头戏,整理文本挖掘的相关技术

明天会在公司内部进行文本挖掘的培训,下面是提纲:

说到文本挖掘,就要说一下文本云可视化。前一段时间老觉得wordcloud这个包的可视化图形不是很美观,于是想重写这个包。但随着深入理解文本云,发现非常不简单,是个NP问题,一时半会没有太好的处理办法。从实际项目的角度,这种可视化意义不是很大,几经折腾后无奈放弃。

但这其中的折腾还是蛮有意思的,比如最初的想法是可以绘制任意形状的文本云,比如根据中国地图形状(但太丑了,又放弃):

还有类似这样效果的:

有时间再搞吧——但有时间的话就应该在图像识别这块了,囧!

  • 有人说,爱情是凄美的,没有结局的爱情永远定格在那一刻,才是永恒;
  • 有人说,爱情是天使,就像那可爱的丘比特,会带给我们欢乐和甜蜜;
  • 还有人说,爱情是恶魔,它一次又一次的带我们到痛苦的深渊。

拿到22996 首中文歌曲(844 个流行歌手)之后,总觉得在这些非结构化数据背后肯定隐藏了什么,但到底会有什么模式呢?当经历了分词、构建矩阵、去除停止词、矩阵约减,最终通过模式识别,统计数字之后爱情居然是这样的一个真相:

爱情永远寂寞

  • 爱情、永远、寂寞三个词之间夹杂着幸福、美丽、快乐、感觉、离开、不在、也许、其实、是我、是你、是否、曾经、现在……
  • 永远还覆盖了生命、明天、等待、拥有……
  • 爱情有着眼泪、无法、伤心、感情……
  • 寂寞夹杂着孤单、自由、孤独和沉默。
  • 等待爱情的降临、享受爱情的甜蜜、失去爱情的眷顾的各位,和你的想象一样吗?

回忆

  1. 在中学时代,在流行歌曲的旋律中察觉到懵懂的爱情,但在繁重的学业中又不曾有出路。于是在日记本写下了“飘渺的歌里什么都没有”,从此彻底远离流行歌曲的靡靡之音。
  2. 大学时代,第一次从校内韩国留学生共享文件夹中拖下来两首 MTV,Michael Jackson 的《We are the world》和 Mariah Carey、Whitney Houston 两位天后合唱的《When you believe》,这两首 MTV 几乎反复看了几十遍,彻底明白“余音绕梁,三日不绝”什么意思。时至今日,每每听到这两首歌,依旧觉得灵魂最深处有触动。
  3. 张楚有首歌叫做《孤独的人是可耻的》,实际上这首歌在讲述渴望爱与被爱,没有爱情的人是寂寞的,寂寞的人是可耻的;
  4. 大陆最早热播的青春偶像剧应该是《东爱》了,主题曲《突然发生的爱情》里有这样一句话——如果不曾与你邂逅,我们将永远是陌生人。是的,虽然通篇没有提过爱情,但那个“永远”是那么的刺眼,分明是对爱情追逐。

纽约尼克斯华裔后卫林书豪0.5秒三分绝杀!在带领球队获得五连胜后,在对战猛龙队客场的比赛中,刚刚获得上周东部最佳球员的林书豪全场20投9中拿下27分11次助攻,终场前0.5秒,林书豪的三分逆天绝杀帮助尼克斯以90-87战胜猛龙!迎来六连胜!(叹号真多……)

这场比赛可以总结为:尼克斯队落后了47分钟,平了59.5秒,最后0.5秒领先。赢了!

林书豪辗转很多支球队,甚至CBA东莞都不屑于签约的边缘球员,在尼克斯拿着非保障合同,随着濒临裁撤。哪知道:第一场临危受命成为先发后卫,帮助球队取得首胜;第二场得分28,再次帮助球队获得胜利;第三场职业生涯首次两双,纽约三连胜;第四场对战湖人,在科比的头上砍下38分,屠湖人;第五场准绝杀,成为东部周最佳球员;第六场绝地反击,逆转猛龙,获得六连胜。

有几个细节:

  • 前五场尼克斯缺少两位当家球星,这两位球星年薪2000W+,而林书豪80W-
  • 在尼克斯主场,球迷对林高喊MVP,这种待遇在过去20年里只有三个球员有此殊荣,他们是乔丹、科比和詹姆斯
  • 在第六场,林0.5秒绝杀,全场起立欢呼。但不要忘记,那里是对手猛龙队的主场
  • 据ESPN统计,林首发前5场豪取136分,超过了传奇中锋奥尼尔,是NBA历史第一

噢,忘记说了。林毕业于哈佛大学经济系,如果被裁,没准在华尔街也是个数量分析师。

上赛季NBA球员战力分析

越靠近中心的越平庸,离中心越远的球员必定有某项能力有过人之处。

图上的每个点代表了一个球员,实力最强的25%显示了他们的名字。这张图仁者见仁吧,最近的一年来,关注 NBA 较少,没啥解释的。

岁月是把杀猪刀,昔日呼风唤雨的球星退役的退役,状态下滑的下滑:

  • 那个曾经把上天都感动哭了的麦迪辗转几支球队,成了人见人欺的角色球员;
  • 邓肯虽然还是一尊石佛,但再也不是篮下的王者;
  • 飞跃法国队中锋的扣将卡特飞得不再高,成了打酱油的;
  • 脾气火爆的阿泰斯特改名叫了慈世平……
0%