1、第五章R语言5.1R语言简介5.2R与数据挖掘5.3SparkR习题of4415.1 R语言简介大数据配套PPT课件用于统计计算和作图的语言计量经济学实证金融学统计遗传学等免费、开源及统计模块齐全R语言数据挖掘机器学习自然语言处理等十大热门编程语言第七位of4425.1 R语言简介大数据配套PPT课件基于S语言的一个GNU项目,语法来自Scheme语言,R语言的源代码正式发布到自由软件协会的FTP上核心开发团队达到20人,来自牛津大学、AT&T实验室等等。不单是一门语言,更是一个数据计算与分析的环境,内容涵盖了从统计计算到机器学习,从金融分析到生物信息,从社会网络分析到自然语言处理,从各种数据
2、库各种语言接口到高性能计算模型S语言1995年2013年of4435.1.1R语言产生与发展历程5.1 R语言简介大数据配套PPT课件5.1.2 R语言基本功能介绍l 数据存储和处理系统l 数组运算工具,(其向量、矩阵运算方面功能尤其强大)l 完整连贯的统计分析工具l 优秀的统计制图功能R语言是一套完整的数据处理、计算和制图软件系统,主要包括以下功能of4445.1 R语言简介大数据配套PPT课件u 丰富的数据读取和存储能力l 可以保存和加载R语言的数据,与R.data的交互是通过R语言的save()函数和load()函数实现的l 能够加载和导出.csv文件(write.csv()函数和rea
3、d.csv()函数)l 能够导入SPSS/SAS/Matlab等数据集l 可以通过RODBC接口,从数据库中导入数据l 可以通过odbcConnectExcel接口从Excel表格中导入数据R语言读取存储of4455.1 R语言简介大数据配套PPT课件u 丰富的数据处理功能数据挖掘中,需要花70%以上的时间在数据处理上,R语言提供丰富的数据处理功能筛选filter()按给定的逻辑判断筛选出符合要求的子数据集排列arrange()按给定的列名依次对行进行排序选择select()用列名作参数来选择子数据集变形mutate()或transformation()用来进行列变形汇总summarise()
4、进行汇总操作,返回一维结果分组分组动作 group_by()of4465.1 R语言简介大数据配套PPT课件u 丰富的数据处理能力向量因子数组矩阵列表R语言处理数据的最基本单位是向量,而不是原子数据R语言定义了一类非常特殊的数据类型:因子数组是向量和矩阵的直接推广,是由三维或三维以上的数据构成的较复杂的继承关系,和数组的关系既是父亲又是儿子,还是孙子列表由向量直接派生而来数据框可以将几个不同类型但长度相同的向量合并到一个数据框特殊值数据定义了如NULL、NA、NaN、inf等特殊数据有用函数提供了获取数据类型信息的一些有用函数of4475.1 R语言简介大数据配套PPT课件统计分析应用数学计量
5、经济金融分析财经分析生物信息学数据可视化数据挖掘人工智能R语言应用领域of4485.1.3 R语言常见的应用领域第五章R语言5.1R语言简介5.2R与数据挖掘5.3SparkR全国高校标准教材云计算姊妹篇,剖析大数据核心技术和实战应用习题of4495.2 R与数据挖掘大数据配套PPT课件数据挖掘l数据挖掘(Data Mining)是从大量的数据中发现有趣知识的过程,涉及统计学、机器学习、模式识别等多个交叉;l主要技术包括分类与预测、聚类、离群点检测、关联规则、序列分析和文本挖掘以及社交网络分析和情感分析等。R语言与数据挖掘有关的任务视图lMachineLearning:主要涉及机器学习和统计学
6、习功能lCluster:主要涉及聚类分析和有限混合模型lTimeSeries:主要涉及时间序列分析lMultivariate:主要用于多元统计分析及其算法lSpatial:主要用于空间数据分析R语言主要用于统计计算和统计制图,提供了大量的统计和制图工具of44105.2 R与数据挖掘大数据配套PPT课件K-近邻算法决策树支持向量机分类与预测算法u 分类与预测算法of44115.2.1 R软件包与常见的数据挖掘算法介绍5.2 R与数据挖掘大数据配套PPT课件u 分类与预测算法K-近邻算法of4412如果一个样本与特征空间中的K个最相似(特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也
7、属于这个类别 library(kknn)data(iris)m val +prob=rep(1/m,m)iris.learn iris.valid iris.kknn +kernel=triangular)summary(iris.kknn)fit table(iris.valid$Species,fit)fit setosa versicolor virginicasetosa 12 0 0versicolor 0 21 0virginica 0 0 17kknn函数的使用5.2.1 R软件包与常见的数据挖掘算法介绍5.2 R与数据挖掘大数据配套PPT课件u 分类与预测算法决策树of4413
8、iris数据集的决策树决策树(Decision Tree)是一种依托于分类、训练上的预测树,根据已知预测、归类未来生成树阶段决策树修剪阶段5.2.1 R软件包与常见的数据挖掘算法介绍5.2 R与数据挖掘大数据配套PPT课件u 分类与预测算法支持向量机of4414支持向量机(Support Vector Machine,SVM)是一个二分类的办法,即将数据集中的数据分为两类SVM中的超平面对比利用超平面分割数据集5.2.1 R软件包与常见的数据挖掘算法介绍5.2 R与数据挖掘大数据配套PPT课件u 聚类算法及其R包l“聚类”是根据“物以类聚”的原理,将本身没有类别的样本聚集成不同的组(或称为簇)
9、,并对每个簇进行描述的过程l 常用的聚类算法主要包括K-means聚类、层次聚类和基于密度的聚类K-means聚类层次聚类基于密度的聚类of44155.2.1 R软件包与常见的数据挖掘算法介绍5.2 R与数据挖掘大数据配套PPT课件u 聚类算法及其R包K-means聚类of4416同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小部分鸢尾花数据的3-means聚类结果5.2.1 R软件包与常见的数据挖掘算法介绍5.2 R与数据挖掘大数据配套PPT课件u 聚类算法及其R包层次聚类of4417一层一层地进行聚类,可以从下而上地把小的cluster合并聚集,也可以从上而下地将大的cluster
10、进行分割iris数据集中20个样本的层次聚类结果5.2.1 R软件包与常见的数据挖掘算法介绍5.2 R与数据挖掘大数据配套PPT课件u 聚类算法及其R包基于密度的聚类of4418DBSCAN算法的数据集DBSCAN算法的密度聚类结果关键参数可到距离,用于定义邻域的大小eps最小数目的对象点MinPts5.2.1 R软件包与常见的数据挖掘算法介绍5.2 R与数据挖掘大数据配套PPT课件u 离群点检测与R包离群点检测与R包单变量的离群点检测l 返回的统计信息用于绘制箱体图l 实现多变量离群点的检测多变量离群点检测局部离群点因子检测用聚类方法进行离散点检测l 基于密度的局部离群点检测l 将不属于任务
11、一类的数据作为异常值检测of44195.2.1 R软件包与常见的数据挖掘算法介绍5.2 R与数据挖掘大数据配套PPT课件u 关联规则与R包Groceries数据集关联度的散点图top-10关联规则关系图of44205.2.1 R软件包与常见的数据挖掘算法介绍5.2 R与数据挖掘大数据配套PPT课件u 时间序列分类与R包人口出生率时间序列图出生率时间序列解构图of44215.2.1 R软件包与常见的数据挖掘算法介绍5.2 R与数据挖掘大数据配套PPT课件u 文本挖掘提取文本中的词语,并统计频率of44225.2.1 R软件包与常见的数据挖掘算法介绍5.2 R与数据挖掘大数据配套PPT课件背景河流
12、中海藻的集中爆发不仅会对河流的生态环境造成破坏,还会影响河流的水质需求基于以往的观测数据,对河流中海藻的爆发情况进行预测并采取必要防范措施以提高河流的水质量方法以海藻样本数据为数据集,通过数据挖掘的方式分析影响海藻爆发的主要因素,并通过构建预测模型,对海藻的爆发情况进行事先预测of44235.2.2 R在数据挖掘中的应用举例5.2 R与数据挖掘大数据配套PPT课件数据集加载数据集中的数据分析预测模型的构建模型的评价与选择海藻爆发频率预测完成对海藻爆发情况的实现预测无效数据处理of44245.2.2 R在数据挖掘中的应用举例5.2 R与数据挖掘大数据配套PPT课件of4425 lm.predic
13、tions.a1 rt.predictions.a1 mae.a1.lm mae.a1.rt mae.a1.lm#显示线性回归模型预测值的平均误差1 13.10681 mae.a1.rt#显示回归树模型预测值的平均误差1 8.480619u 部分代码线性回归和回归树模型的预测l 回归树的MAE值为8.48l 线性回归模型的MAE值 13.11l 回归树模型的预测值的平均误差要优于线性回归模型预测值的平均误差5.2.2 R在数据挖掘中的应用举例第五章R语言5.1R语言简介5.2R与数据挖掘5.3SparkR全国高校标准教材云计算姊妹篇,剖析大数据核心技术和实战应用习题of44265.3 Spar
14、kR大数据配套PPT课件taFrames的数据来源非常广泛高扩展性DataFrames的优化SparkR就是用R语言编写Spark程序,它允许数据科学家分析大规模的数据集,并通过R Shell交互式地在SparkR上运行作业上123SparkR的核心是SparkR DataFrame,数据组织成一个带有列名的分布式数据集对RDD API的支持4of44275.3.1 SparkR 简介5.3 SparkR大数据配套PPT课件1.Linux下安装R2.rJava包安装3.SparkR的安装首先在官网下载R的软件包,官网网址为http:/ SparkR 环境搭建5.3 SparkR大数据配套PPT
15、课件创建SparkSession创建SparkDataFrmesSparkSession(即Spark会话)是SparkR的切入点,它使得R程序和Spark集群相互通信根据需要从本地R数据框(R data frame),Hive表(Hive table)或者从其他数据源创建SparkDataFrmesof44295.3.3 SparkR 使用5.3 SparkR大数据配套PPT课件HQL是一种类SQL的语言,这种语言最终被转化为Map/Reduce,通过Hive可以使用HQL语言查询存放在HDFS上的数据SparkRu 利用Hive表来创建DataFrame;u 将DataFrame转化为Sp
16、ark SQL;u SparkR提供了对HQL的支持和API,但是Hive适合用来对一段时间内的数据进行分析查询of44305.3.4 SparkR 与HQL5.3 SparkR大数据配套PPT课件广义线性模型简单最小二乘回归(OLS)的扩展,响应变量可以是正整数或分类数据,为某指数分布族,期望值函数与预测变量之间为线性关系,需要指定分布类型和连接函数加速失效时间生存回归模型AFT模型将经典线性回归模型的建模方法直接拓展到了生存分析领域,即具有截尾生存时间的情形朴素贝叶斯模型通过某对象的先验概率,利用贝叶斯公式计算出其后验概率,选择具有最大后验概率的类作为该对象所属的类K-means模型Spa
17、rkR提供了对K-means算法的支持,K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标模型的保存与加载模型训练好了以后,需要将训练好的模型保存起来,以便下一次再用of44315.3.5 SparkR实现的主要机器学习算法概述5.3 SparkR大数据配套PPT课件利用SparkR提供的接口函数,在Hadoop集群环境中对“德国信用数据集”进行处理,并利用训练得到的信用梯度损失模型对贷款人的信用度进行预测加载Spark解析文件矩阵形式从HDFS中读取德国信用数据文件预测模型模型评价分割为训练数据集和测试数据集完成模型训练和数据预测梯度下降算法优化损失函数和逻辑回归算
18、法对借款人的信用进行评级of44325.3.6 SparkR在数据分析中的应用举例5.3 SparkR大数据配套PPT课件of4433u 部分代码利用梯度下降算法优化损失函数和逻辑回归算法,计算信用等级预测模型#初始化向量theta theta hypot gCost-function(t,X,y)+1/nrow(X)*(t(X)%*%(hypot(X%*%t)-y)#定义训练函数+train-function(theta,rdd)#计算梯度+gradient_rdd-lapplyPartition(rdd,function(part)+X-part,1:25+y-part,26+p_grad
19、ient-gCost(theta,X,y)+list(list(1,p_gradient)+)+agg_gradient_rdd alpha tol step while(T)+cat(step:,step,n)+p_gradient-train(theta,matrix_train_rdd)+theta-theta-alpha*p_gradient+gradient-train(theta,matrix_train_rdd)#根据梯度下降算法进行模型训练+if(abs(norm(gradient,type=F)-norm(p_gradient,type=F)=tol)break+step-step+1+5.3.6 SparkR在数据分析中的应用举例1.R语言是解释性语言还是编译性语言?2.简述R语言的基本功能。3.R语言通常用在哪些领域?4.简述R软件包的安装和加载过程?5.R语言常用的分类与预测算法有哪些?6.简述如何利用R程序包进行数据分析、建模和数据预测。7.如何使用“聚类”和“分类”对数据样本进行分组?8.查阅相关资料,实例演示R语言在数据挖掘中的应用。9.查阅相关资料,实例演示SparkR环境搭建。10.SparkR DataFrame的作用有哪些?11.简述SparkR与机器学习的关系。12.查阅相关资料,实例演示SparkR在数据分析中的应用。习题:感谢聆听