大数据BIGDATA第五章R语言5.1R语言简介5.2R与数据挖掘5.3SparkR习题of4425.1R语言简介《大数据》配套PPT课件用于统计计算和作图的语言计量经济学实证金融学统计遗传学等免费、开源及统计模块齐全R语言数据挖掘机器学习自然语言处理等十大热门编程语言第七位of4435.1R语言简介《大数据》配套PPT课件基于S语言的一个GNU项目,语法来自Scheme语言,R语言的源代码正式发布到自由软件协会的FTP上核心开发团队达到20人,来自牛津大学、AT&T实验室等等。不单是一门语言,更是一个数据计算与分析的环境,内容涵盖了从统计计算到机器学习,从金融分析到生物信息,从社会网络分析到自然语言处理,从各种数据库各种语言接口到高性能计算模型S语言1995年2013年of4445.1.1R语言产生与发展历程5.1R语言简介《大数据》配套PPT课件5.1.2R语言基本功能介绍数据存储和处理系统数组运算工具,(其向量、矩阵运算方面功能尤其强大)完整连贯的统计分析工具优秀的统计制图功能R语言是一套完整的数据处理、计算和制图软件系统,主要包括以下功能of4455.1R语言简介《大数据》配套PPT课件丰富的数据读取和存储能力可以保存和加载R语言的数据,与R.data的交互是通过R语言的save()函数和load()函数实现的能够加载和导出.csv文件(write.csv()函数和read.csv()函数)能够导入SPSS/SAS/Matlab等数据集可以通过RODBC接口,从数据库中导入数据可以通过odbcConnectExcel接口从Excel表格中导入数据R语言读取存储of4465.1R语言简介《大数据》配套PPT课件丰富的数据处理功能数据挖掘中,需要花70%以上的时间在数据处理上,R语言提供丰富的数据处理功能筛选filter()按给定的逻辑判断筛选出符合要求的子数据集排列arrange()按给定的列名依次对行进行排序选择select()用列名作参数来选择子数据集变形mutate()或transformation()用来进行列变形汇总summarise()进行汇总操作,返回一维结果分组分组动作group_by()of4475.1R语言简介《大数据》配套PPT课件丰富的数据处理能力向量因子数组矩阵列表R语言处理数据的最基本单位是向量,而不是原子数据R语言定义了一类非常特殊的数据类型:因子数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的较复杂的继承关系,和数组的关系既是父亲又是儿子,还是孙子列表由向量直接派生而来数据框可以将几个不同类型但长度相同的向量合并到一个数据框特殊值数据定义了如NULL、NA、NaN、inf等特殊数据有用函数提供了获取数据类型信息的一些有用函数of4485.1R语言简介《大数据》配套PPT课件统计分析应用数学计量经济金融分析财经分析生物信息学数据可视化数据挖掘人工智能R语言应用领域of4495.1.3R语言常见的应用领域第五章R语言5.1R语言简介5.2R与数据挖掘5.3SparkR习题of44105.2R与数据挖掘《大数据》配套PPT课件数据挖掘数据挖掘(DataMining)是从大量的数据中发现有趣知识的过程,涉及统计学、机器学习、模式识别等多个交叉;主要技术包括分类与预测、聚类、离群点检测、关联规则、序列分析和文本挖掘以及社交网络分析和情感分析等。R语言与数据挖掘有关的任务视图MachineLearning:主要涉及机器学习和统计学习功能Cluster:主要涉及聚类分析和有限混合模型TimeSeries:主要涉及时间序列分析Multivariate:主要用于多元统计分析及其算法Spatial:主要用于空间数据分析R语言主要用于统计计算和统计制图,提供了大量的统计和制图工具of44115.2R与数据挖掘《大数据》配套PPT课件K-近邻算法决策树支持向量机分类与预测算法分类与预测算法of44125.2.1R软件包与常见的数据挖掘算法介绍5.2R与数据挖掘《大数据》配套PPT课件分类与预测算法—K-近邻算法of4413如果一个样本与特征空间中的K个最相似(特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别library(kknn)data(iris)m-dim(iris)[1]val-sample(1:m,size=round(m/3),replace=FALSE,+prob=rep(1/m,m))iris.learn-iris[-val,]iris.valid-iris[val,]iris.kknn-kknn(Species~.,iris.learn,iris.valid,distance=5,+kernel=triangular)summary(iris.kknn)fit-fitted(iris.kknn)table(iris.valid$Species,fit)fitsetosaversicolorvirginicasetosa1200versicolor0210virginica0017kknn函数的使用5.2.1R软件包与常见的数据挖掘算法介绍5.2R与数据挖掘《大数据》配套PPT课件分类与预测算法—决策树of4414iris数据集的决策树决策树(DecisionTree)是一种依托于分类、训练上的预测树,根据已知预测、归类未来生成树阶段决策树修剪阶段5.2.1R软件包与常见的数据挖掘算法介绍5.2R与数据挖掘《大数据》配套PPT课件分类与预测算法—支持向量机of4415支持向量机(SupportVectorMachine,SVM)是一个二分类的办法,即将数据集中的数据分为两类SVM中的超平面对比利用超平面分割数据集5.2.1R软件包与常见的数据挖掘算法介绍5.2R与数据挖掘《大数据》配套PPT课件聚类算法及其R包“聚类”是根据“物以类聚”的原理,将本身没有类别的样本聚集成不同的组(或称为簇),并对每个簇进行描述的过程常用的聚类算法主要包括K-means聚类、层次聚类和基于密度的聚类K-means聚类层次聚类基于密度的聚类of44165.2.1R软件包与常见的数据挖掘算法介绍5.2R与数据挖掘《大数据》配套PPT课件聚类算法及其R包—K-means聚类of4417同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小部分鸢尾花数据的3-means聚类结果5.2.1R软件包与常见的数据挖掘算法介绍5.2R与数据挖掘《大数据》配套PPT课件聚类算法及其R包—层次聚类of4418一层一层地进行聚类,可以从下而上地把小的cluster合并聚集,也可以从上而下地将大的cluster进行分割iris数据集中20个样本的层次聚类结果5.2.1R软件包与常见的数据挖掘算法介绍5.2R与数据挖掘《大数据》配套PPT课件聚类算法及其R包—基于密度的聚类of4419DBSCAN算法的数据集DBSCAN算法的密度聚类结果关键参数可到距离,用于定义邻域的大小eps最小数目的对象点MinPts5.2.1R软件包与常见的数据挖掘算法介绍5.2R与数据挖掘《大数据》配套PPT课件离群点检测与R包离群点检测与R包单变量的离群点检测返回的统计信息用于绘制箱体图实现多变量离群点的检测多变量离群点检测局部离群点因子检测用聚类方法进行离散点检测基于密度的局部离群点检测将不属于任务一类的数据作为异常值检测of44205.2.1R软件包与常见的数据挖掘算法介绍5.2R与数据挖掘《大数据》配套PPT课件关联规则与R包Groceries数据集关联度的散点图top-10关联规则关系图of44215.2.1R软件包与常见的数据挖掘算法介绍5.2R与数据挖掘《大数据》配套PPT课件时间序列分类与R包人口出生率时间序列图出生率时间序列解构图of44225.2.1R软件包与常见的数据挖掘算法介绍5.2R与数据挖掘《大数据》配套PPT课件文本挖掘提取文本中的词语,并统计频率of44235.2.1R软件包与常见的数据挖掘算法介绍5.2R与数据挖掘《大数据》配套PPT课件背景河流中海藻的集中爆发不仅会对河流的生态环境造成破坏,还会影响河流的水质需求基于以往的观测数据,对河流中海藻的爆发情况进行预测并采取必要防范措施以提高河流的水质量方法以海藻样本数据为数据集,通过数据挖掘的方式分析影响海藻爆发的主要因素,并通过构建预测模型,对海藻的爆发情况进行事先预测of44245.2.2R在数据挖掘中的应用举例5.2R与数据挖掘《大数据》配套PPT课件数据集加载数据集中的数据分析预测模型的构建模型的评价与选择海藻爆发频率预测完成对海藻爆发情况的实现预测无效数据处理of44255.2.2R在数据挖掘中的应用举例5.2R与数据挖掘《大数据》配套PPT课件of4426lm.predictions.a1-predict(final.lm,clean.algae)#计算线性回归模型的预测值rt.predictions.a1-predict(rt.a1,algae)#计算回归树模型的预测值mae.a1.lm-mean(abs(lm.predictions.a1-algae[,a1]))#计算预测值的平均误差mae.a1.rt-mean(abs(rt.predictions.a1-algae[,a1]))#计算预测值的平均误差mae.a1.lm#显示线性回归模型预测值的平均误差[1]13.10681mae.a1.rt#显示回归树模型预测值的平均误差[1]8.480619部分代码线性回归和回归树模型的预测回归树的MAE值为8.48线性回归模型的MAE值13.11回归树模型的预测值的平均误差要优于线性回归模型预测值的平均误差5.2.2R在数据挖掘中的应用举例第五章R语言5.1R语言简介5.2R与数据挖掘5.3SparkR习题of44275.3SparkR《大数据》配套PPT课件taFrames的数据来源非常广泛高扩展性DataFrames的优化SparkR就是用R语言编写Spark程序,它允许数据科学家分析大规模的数据集,并通过RShell交互式地在SparkR上运行作业上123SparkR的核心是SparkRDataFrame,数据组织成一个带有列名的分布式数据集对RDDAPI的支持4of44285.3.1SparkR简介5.3SparkR《大数据》配套PPT课件1.Linux下安装R2.rJava包安装3.SparkR的安装首先在官网下载R的软件包,官网网址为,因此,在安装SparkR之前,需要先完成rJava包的安装为了避免Spark版本的兼容问题,采用源码编译的方式来安装SparkRof44295.3.2SparkR环境搭建5.3SparkR《大数据》配套PPT课件创建SparkSession创建SparkDataFrmesSparkSession(即Spark会话)是SparkR的切入点,它使得R程序和Spark集群相互通信根据需要从本地R数据框(Rdataframe),Hive表(Hivetable)或者从其他数据源创建SparkDataFrmesof44305.3.3SparkR使用5.3SparkR《大数据》配套PPT课件HQL是一种类SQL的语言,这种语言最终被转化为Map/Reduce,通过Hive可以使用HQL语言查询存放在HDFS上的数据SparkR利用Hive表来创建DataFrame;将DataFrame转化为SparkSQL;SparkR提供了对HQL的支持和API,但是Hive适合用来对一段时间内的数据进行分析查询of44315.3.4SparkR与HQL5.3SparkR《大数据》配套PPT课件广义线性模型简单最小二乘回归(OLS)的扩展,响应变量可以是正整数或分类数据,为某指数分布族