《R与Hadoop大数据分析实战》一1.3 R语言的功能特征

1.3 R语言的功能特征

目前R程序包已经超过3000个,其数量仍在与日俱增。没有任何一本书可以清楚介绍所有这些程序包。本书仅侧重于介绍R的主要特征以及最常用和主流的程序包。

1.3.1 使用R程序包

R程序包都是一些具有函数特性的自含单元,可以看做是若干个函数的集合,类似于Java中的.jar文件。现有关于R程序包的海量书籍所涵盖的应用范围非常广泛,从统计操作和机器学习到丰富的图形可视化和绘制。每个程序包都包括一个或多个R函数。一个R程序包是可供他人重复使用和共享的实体。R用户可以安装拥有他们所需功能的程序包并从中调用函数。这些程序包的完整列表可在http://cran.r-project.org/(也称R语言综合文档网络(Comprehensive R Archive Network,CRAN))中找到。

1.3.2 执行数据操作

R支持广泛的操作,包括统计运算操作,例如平均数、最小值、最大值、概率、分布和回归;机器学习操作,如线性回归、逻辑回归、分类和聚类。通用数据处理操作如下:
数据清洗:清洗大量的数据集。
数据探查:探查数据集所有可能的值。
数据分析:对描述性和预测性分析数据的可视化进行分析,即分析输出程序的可视化。
为了建立一个有效的分析应用,有时需要使用应用程序编程接口(API)来挖掘数据,使用付费服务进行分析,并通过第三方服务进行可视化处理。另外,进行编程是最有助于实现数据分析的自动化方式。
R有它自己的编程语言来操作数据。此外,可用的程序包可以帮助整合R与其他程序功能。 R支持面向对象的编程概念。它也能够与其他编程语言,如Java、PHP、C和C++实现整合。有几个程序包将作为中间层编程帮助进行数据分析,它们类似于sqldf、httr、RMongo、RgoogleMaps、RGoogleAnalytics和google-predictionapi-r-client。

1.3.3 日渐增多的社区支持

随着R的用户数逐步上升,与R相关的群组也在增加。因此,R的学习者或开发人员可以轻松地聚集在一起,并通过R群组或社区的帮助解决一些他们不确定的问题。
下面是一些有用的主流平台:
R邮件列表:这是由R项目业主创造的一个官方R群组。
R的博客:有不计其数的博主正在编写一些R应用。其中最流行的博客是http://www.r-bloggers.com/,在这里所有博主都开设了自己的博客。
stack overflow:这是一个很大的技术知识分享平台,在这里程序员可以发布自己的技术问题,热心的程序员会给出解决方案。欲了解更多信息,请访问http://stats.stackexchange.com/
群组:目前在LinkedIn和Meetup网站上有许多其他团体,在这里世界各地的专业人士聚集在一起,讨论他们的问题和创新理念。
图书:关于R的书籍有很多。一些很流行的读物,如《R in Action》,由Rob Kabacoff所著,Manning出版;《R in a Nutshell》,由Joseph Adler所著,O扲eilly Media出版;《R and Data Mining》,赵延长所著,科学出版社出版;《R Graphs Cookbook》,由Hrishi Mittal所著,Packt出版社出版。

1.3.4 R语言数据建模

数据建模属于机器学习技术的范畴,用于从历史数据集中发现隐藏的模式,这些模式可用来对未来相似数据进行预测。这个技术注重过去的用户行为,了解用户的偏好。大多数数据建模技术已经被许多主流组织应用,以通过过去的交易行为来了解他们的客户。这些技术将分析数据,并预测客户的需求。Amazon、Google、Facebook、eBay、LinkedIn、Twitter和其他许多组织都在使用数据挖掘来改进定义的应用程序。
最常用数据挖掘技术如下:
回归:在统计学中,回归是一项传统技术,通过对变量值进行状态拟合来识别两个或多个变量之间的数量关系。这种关系将有助于预测未来事件的变量值。例如,任意变量y可以用来建立与另一个变量x的线性函数,表达式为y = mx + c。在这里,x是预测变量,y是因变量,m是直线的斜率,c为截距。产品或服务的销量预期、股票价格的预测都可通过这个回归来实现。通过使用由R语言编写的lm方法可实现回归,这种方法是R语言中的默认方法。
分类:这是一个机器学习技术,主要用于对观察值进行标签分类,这些观察值主要用于训练案例。通过这一技术,我们能够将观察值以一个或多个标签进行分类。销售、网络欺诈检测和癌症分类(医学技术)都是应用这一技术的常见领域。Google邮件使用这种技术判定邮件是否为垃圾邮件。分类功能可以通过R语言的glm、glmnet、ksvm、svm和randomForest获取。
集群:这个技术能根据给定的项目集合进行相似的项目成组。用户细分和图像压缩是群集的最常见的应用。市场分割、社会化网络分析、组织计算机集群和天文数据分析也包括在集群技术的应用内。Google新闻使用这些技术将相似的新闻条目归为同一类。集群可以通过R语言的knn、kmeans、dist、pvclust和Mclust等方法实现。
推荐:推荐算法应用于推荐系统,这些推荐系统是目前使用中的获得极高认可的机器学习技术。网页内容的推荐可能包括类似的网站、博客、视频或相关内容。此外,网上物品的推荐有助于推进交叉销售和向上销售。常见的是网上购物门户网站根据用户过去的行为推荐书籍、手机或其他任何网购商品。Amazon是一个知名的电子商务门户网站,其29%的销售是通过推荐系统实现的。推荐系统可以通过R语言Recommender()和recommendaerlab程序包实现。

时间: 2024-11-02 23:47:57

《R与Hadoop大数据分析实战》一1.3 R语言的功能特征的相关文章

《R与Hadoop大数据分析实战》一导读

前 言 组织获得的数据量每一天都在成倍增加.现在组织可以存储大量信息在低成本平台上,例如Hadoop. 如今这些组织面临的难题是如何处理这些数据以及如何从这些数据中获取关键的见解.于是R应运而生.R是一个令人惊讶的工具,它是一个在数据中能够运行先进统计模型的单元,它将原始模型翻译成丰富多彩的图形和可视化视图,而且它有很多和数据科学相关的功能. 然而,R的一个主要缺点是它的可扩展性较差.R的核心技术引擎可以加工和处理非常有限的数据量.正因为在大数据处理中Hadoop十分流行,所以为了可扩展性,下一

《R与Hadoop大数据分析实战》一2.5 在R环境中编写Hadoop MapReduce程序的方式

2.5 在R环境中编写Hadoop MapReduce程序的方式 我们知道对将R工具用于分析的统计学家.网络分析师以及产品经理来说,用MapReduce进行Hadoop大数据处理是一件非常重要的事,因为补充MapReduce的编程知识对于用Hadoop将分析整合到MapReduce来说是必要的.并且,我们知道R是一个一直以来普及程度逐步提升的工具:为了整合R,有许多程序包和函数库一直在改进.因此为了研发基于R和Hadoop计算能力运行的MapReduce算法程序,我们需要R和Hadoop的中间软

《R与Hadoop大数据分析实战》一第2章 编写Hadoop MapReduce程序

第2章 编写Hadoop MapReduce程序 在第1章中,我们学习了如何搭建R和Hadoop开发环境.既然我们对大数据分析感兴趣,接下来就学习如何使用Hadoop MapReduce进行大数据处理.在本章中,我们要讨论MapReduce的基础概念,为何它是不可或缺的,以及如何在Apache Hadoop上进行MapReduce编程等内容.本章节将会涉及如下内容:MapReduce基础概念Hadoop MapReduce技术Hadoop MapReduce原理编写Hadoop MapReduc

《R与Hadoop大数据分析实战》一1.1 安装R

1.1 安装R 可以通过访问R的官方网站下载相应的版本.这里提供了对应三种不同操作系统的下载步骤,包括在Windows.Linux和Mac上安装R.下载最新版本的R,其中包括所有最新的补丁和错误解决方案.对于Windows操作系统,请执行以下步骤: 访问www.r-project.org. 点击CRAN,选择CRAN镜像(CRAN mirror),并选择你的Windows操作系统(捆绑到Linux:Hadoop通常在Linux环境下运行). 从镜像中下载最新的R版本. 执行下载的.exe程序,安

《R与Hadoop大数据分析实战》一2.1 MapReduce基础概念

2.1 MapReduce基础概念 如果没有使用过集群或信息传递接口(Message Passing Interface,MPI),那么理解MapReduce基础概念将不会是一件容易的事.更多的实际应用是数据不存放在一个硬盘中而是存放于分布式文件系统中(Distributed File System,DFS),或存放于由Hadoop技术实现的分布式软件中.MapReduce同时也是一个编程模型,它以一种分布式方法进行工作.其中包括信息传递接口(MPI)和同步并行计算模型(Bulk Synchro

《R与Hadoop大数据分析实战》一1.4 Hadoop的安装

1.4 Hadoop的安装 现在假定你已经了解了R语言,知道它是什么,如何安装它,它的主要特点是什么,以及为什么要使用它.现在,我们需要知道R的局限性(这样能更好地引入对Hadoop的介绍).在处理数据前,R需要将数据加载到随机存取存储器(RAM).因此,数据应该小于现有机器内存.对于数据比机器内存还要大的,我们将其看做大数据(由于大数据还有许多其他定义,这只适用于我们现在所说的例子). 为了避免这类大数据问题,我们需要扩展硬件配置,但这只是一个临时解决方案.为了解决这一问题,我们需要使用一个H

《R与Hadoop大数据分析实战》一2.4 编写Hadoop MapReduce示例程序

2.4 编写Hadoop MapReduce示例程序 现在要通过一个很简单且普通的单词统计(word count)来学习MapReduce.该例子的目标是统计每个单词在文章中出现的次数.这些文章作为MapReduce的输入文件. 在该例中,已经准备了一些文本文件,我们希望计算所有单词在这些文件中出现的频率.我们通过Hadoop MapReduce来进行设计. 本节中,将使用旧版API接口学习Hadoop MapReduce编程.假设读者已经配置了Hadoop的环境变量(请参考第1章的内容).同时

《R与Hadoop大数据分析实战》一1.8 小结

1.8 小结 在这一章中,我们学习了什么是R.Hadoop以及它们的特点,如何在使用R和Hadoop分析数据集之前安装它们.在下一章中,我们将要学习什么是MapReduce以及如何使用Apache Hadoop开发MapReduce程序.

《R与Hadoop大数据分析实战》一1.7 Hadoop的子项目

1.7 Hadoop的子项目 Mahout是一个很强大的数据挖掘库,其中包含大部分与数据挖掘有关的机器学习算法,可实现聚类.分类.回归分析及统计建模等,可用于智能应用,它也是一个不错的机器学习库. Apache Mahout是一个商用软件,需要Apache软件分发的许可证.Apache Mahout的目标是建立一个充满活力.反应灵敏.多样化的社区,以方便对项目本身以及潜在使用案例的讨论. 使用Mahout的一些公司如下: Amazon:这是一个提供个性化推荐的购物网站. AOL:这是一个有购物建