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

简介:

本节书摘来自华章出版社《R与Hadoop大数据分析实战》一书中的第1章,第1.3节,作者 (印)Vignesh Prajapati,更多章节内容可以访问云栖社区“华章计算机”公众号查看

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程序包实现。

相关文章
|
3月前
|
存储 分布式计算 大数据
MaxCompute聚簇优化推荐功能发布,单日节省2PB Shuffle、7000+CU!
MaxCompute全新推出了聚簇优化推荐功能。该功能基于 31 天历史运行数据,每日自动输出全局最优 Hash Cluster Key,对于10 GB以上的大型Shuffle场景,这一功能将直接带来显著的成本优化。
213 3
|
5月前
|
人工智能 分布式计算 大数据
大数据≠大样本:基于Spark的特征降维实战(提升10倍训练效率)
本文探讨了大数据场景下降维的核心问题与解决方案,重点分析了“维度灾难”对模型性能的影响及特征冗余的陷阱。通过数学证明与实际案例,揭示高维空间中样本稀疏性问题,并提出基于Spark的分布式降维技术选型与优化策略。文章详细展示了PCA在亿级用户画像中的应用,包括数据准备、核心实现与效果评估,同时深入探讨了协方差矩阵计算与特征值分解的并行优化方法。此外,还介绍了动态维度调整、非线性特征处理及降维与其他AI技术的协同效应,为生产环境提供了最佳实践指南。最终总结出降维的本质与工程实践原则,展望未来发展方向。
306 0
|
3月前
|
机器学习/深度学习 算法 Java
Java 大视界 -- Java 大数据机器学习模型在生物信息学基因功能预测中的优化与应用(223)
本文探讨了Java大数据与机器学习模型在生物信息学中基因功能预测的优化与应用。通过高效的数据处理能力和智能算法,提升基因功能预测的准确性与效率,助力医学与农业发展。
|
搜索推荐 数据可视化 数据挖掘
基于Python flask框架的招聘数据分析推荐系统,有数据推荐和可视化功能
本文介绍了一个基于Python Flask框架的招聘数据分析推荐系统,该系统具备用户登录注册、数据库连接查询、首页推荐、职位与城市分析、公司性质分析、职位需求分析、用户信息管理以及数据可视化等功能,旨在提高求职者的就业效率和满意度,同时为企业提供人才匹配和招聘效果评估手段。
599 0
基于Python flask框架的招聘数据分析推荐系统,有数据推荐和可视化功能
|
9月前
|
SQL 人工智能 大数据
【4月重点功能发布】阿里云大数据+ AI 一体化平台
【4月重点功能发布】阿里云大数据+ AI 一体化平台
230 0
|
9月前
|
SQL 人工智能 分布式计算
【3月重点功能发布】阿里云大数据+ AI 一体化平台
【3月重点功能发布】阿里云大数据+ AI 一体化平台
210 0
|
分布式计算 Hadoop Devops
Hadoop集群配置https实战案例
本文提供了一个实战案例,详细介绍了如何在Hadoop集群中配置HTTPS,包括生成私钥和证书文件、配置keystore和truststore、修改hdfs-site.xml和ssl-client.xml文件,以及重启Hadoop集群的步骤,并提供了一些常见问题的故障排除方法。
374 3
Hadoop集群配置https实战案例
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(二)
Hadoop-09-HDFS集群 JavaClient 代码上手实战!详细附代码 安装依赖 上传下载文件 扫描列表 PUT GET 进度条显示(二)
128 3
|
缓存 分布式计算 NoSQL
大数据-43 Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
大数据-43 Redis 功能扩展 Lua 脚本 对Redis扩展 eval redis.call redis.pcall
155 2
|
SQL 分布式计算 NoSQL
大数据-42 Redis 功能扩展 发布/订阅模式 事务相关的内容 Redis弱事务
大数据-42 Redis 功能扩展 发布/订阅模式 事务相关的内容 Redis弱事务
138 2