R语言数据挖掘课件_第1页
R语言数据挖掘课件_第2页
R语言数据挖掘课件_第3页
R语言数据挖掘课件_第4页
R语言数据挖掘课件_第5页
已阅读5页,还剩285页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

R的数据组织和整理R的数据对象R的数据对象有哪些类型从存储角度划分R对象:数值型、字符型、逻辑型从结构角度划分R对象:向量、矩阵、数组、数据框、列表创建和访问R的数据对象创建R的对象对象名<-R常量或R函数访问R的数据对象对象名,或,print(对象名)查看R数据对象的结构str(对象名)管理R的数据对象ls()、rm(对象名或对象名列表),或,remove(对象名)向量的创建和访问向量可以只包含一个元素,存储一个数据,也可以包含若干个元素,存储多个数据。向量包含的元素可以是数值型、字符串型或逻辑型,对应的向量依次称为数值型向量、字符串型向量或逻辑型向量创建只包含一个元素的向量:对象名<-R常量创建包含多个元素的向量c函数、rep重复函数、seq序列函数scan键盘数据读入函数vector创建向量函数向量的创建和访问访问向量中的元素访问指定位置上的元素向量名[位置常量]、向量名[位置常量1:位置常量2]、向量名[c(位置常量列表)]利用位置向量访问指定位置上的元素向量名[位置向量名]访问指定位置之外的元素向量名[-位置常量]、向量名[-(位置常量1:位置常量2)]、向量名[-c(位置常量列表)]、向量名[-位置向量名]矩阵的创建和访问矩阵用来组织具有相同存储类型的一组变量。矩阵元素可以是数值型、字符串型或逻辑型,对应的矩阵依次称为数值型矩阵、字符串型矩阵或逻辑型矩阵创建矩阵向量合并形成矩阵cbind(向量名列表)、dim(矩阵名)、colnames(矩阵名)、rownames(矩阵名)由单个向量派生矩阵matrix(向量名,nrow=行数,ncol=列数,byrow=TRUE/FALSE,dimnames=list(行名称向量,列名称向量))矩阵的创建和访问访问矩阵访问指定位置上的元素矩阵名[行位置常量,列位置常量]、矩阵名[行位置常量1:行位置常量2,列位置常量1:列位置常量2]、矩阵名[c(行位置常量列表),c(列位置常量列表)]访问指定行上的所有元素head(矩阵名,n)、tail(矩阵名,n)矩阵名[行位置常量,]、矩阵名[行位置常量1:行位置常量2,]、矩阵名[c(行位置常量列表),]、矩阵名[行位置向量名,]矩阵的创建和访问访问矩阵访问指定列上的所有元素矩阵名[,列位置常量]、矩阵名[,列位置常量1:列位置常量2]、矩阵名[,c(列位置常量列表)]、矩阵名[,列位置向量名]利用编辑窗口访问矩阵元素fix(矩阵名)数据框的创建和访问数据框也是一张二维表格,行和列在统计上分别称为观测和变量,计算机上分别称为记录和域。变量名的对应称谓是域名,变量值对应域值创建数据框data.frame(域名1=向量名1,域名2=向量名2,….)names(数据框名)访问数据框数据框名$域名、数据框名[[“域名”]]、数据框名[[域编号]]attach函数和detach函数、with函数数据框的创建和访问数组以三维方式组织数据,是矩阵的扩展形式。可将数组视为多张二维表格罗列而成的“长方体”。表格的行列数分别对应长方体的长和宽,表格的张数对应长方体的高。数组包含的元素可以是数值型、字符串型或逻辑型,对应的数组依次称为数值型数组、字符串型数组或逻辑型数组创建数组array(向量名,维度说明,dimnames=list(维名称列表))访问数组数组元素的访问方式与矩阵类似,需指定三个维度列表的创建和访问列表是对象的集合,可包含向量、矩阵、数组、数据框甚至列表等等。其中的每个对象称为列表的一个成分,且均有一个成分名创建列表list(成分名1=对象名1,成分名2=对象名2,……)访问列表列表的访问方式与数据框完全相同数据对象的相互转换不同存储类型之间的转换判断数据对象的存储类型is.存储类型名(数据对象名)、typeof(数据对象名)数据对象存储类型的转换as.存储类型名(数据对象名)不同结构类型之间的转换向量和矩阵之间的互转as.matrix(向量名)、as.vector(矩阵名)数据对象的相互转换向量转换为因子因子是一种特殊形式的向量。由于一个向量可视为一个变量,如果该变量的计量类型为分类型,将对应的向量转换为因子,更利于后续的数据分析is.factor(数据对象名)、as.factor(向量名)、levels(因子名)、nlevels(因子名)factor(向量名,order=TURE/FALSE,levels=c(类别值列表))factor(向量名,levels=c(类别值列表),labels=c(类别值列表))因子转换为向量导入外部数据将文本数据组织到R对象中读文本数据到向量scan(file=”文件名”,skip=行数,what=存储类型转换函数())读文本数据到数据框read.table(file="文件名",header=TRUE/FALSE,sep="数据分隔符")将SPSS数据组织到R对象中read.spss(file=”SPSS数据文件名”,use.value.labels=TRUE/FALSE,to.data.frame=TRUE/FALSE)导入外部数据将数据库和Excel表数据组织到R对象中通常可借助开放数据库互联ODBC导入第一步,建立关于指定数据的数据通道第二步,通过上述数据通道访问指定数据库或Excel表中的数据等第三步,关闭所建立的数据通道将网页表格数据组织到R对象中readHTMLTable(网页地址)R有哪些自带的数据包data("数据集名")导入外部数据如何将R对象中的数据保存起来write.table(数据对象名,file="文本文件名",sep="分隔符,quote=TRUE/FALSE,append=TRUE/FALSE,na="NA",s=TRUE/FALSE,s=TRUE/FALSE)R程序设计基础R程序设计涉及哪些基本概念R语句:R语言程序设计的本质就是将数据整理过程、建模和算法步骤等,表述为一行行的R语句以形成R程序。运行R程序的过程就是依据R程序的控制结构,逐行执行R语句的过程R对象名<-算术表达式或关系表达式R程序的控制结构:运行R程序的过程是依据R程序的控制结构,逐行执行R语句的过程。这里的控制结构是实现R的复杂计算处理的基础和保证R程序设计基础R有哪些常用的系统函数R的系统函数是存在于R包中,由R的开发者事先开发好可直接调用的“现成”函数R基础包中的函数种类很多,从计算功能上大致分为数学函数、统计函数、概率函数、字符串函数、数据管理函数、文件管理函数等用户自定义函数提升编程水平用户自行编写的函数称为用户自定义函数对任何一个用户自定义函数都需首先定义函数,然后才可以调用该函数R程序设计基础如何提高R程序处理的能力:流程控制分支结构的流程控制:分支结构的流程控制是指R程序在某处的执行取决于某个条件。当条件满足时执行一段程序,当条件不满足时执行另外一段程序。因程序的执行在该点出现了“分支”,因而得名分支结构的流程控制if结构if-else结构switch结构R程序设计基础循环结构的流程控制循环结构的流程控制是指R程序在某处开始,根据条件判断结果决定是否反复执行某个程序段for结构while结构repeat结构

R程序设计基础综合应用一:数据的基本处理以车险数据为例进行各种处理,目的是强化前述统计和数据管理函数的应用,以及循环控制处理技巧等综合应用二:如何将汇总数据还原为原始数据

R的数据可视化绘图基础数据的直观印象通常来自于关于数据的各种图形,即通过数据可视化,利用各种图形直观展示数据的分布特点。包括单个数值型变量或分类型变量的统计分布特征,多个变量的联合分布特征,以及变量间的相关性等等方面。这是获得数据直观印象的思路和主体脉络,也是数据挖掘的重要方面R的数据可视化平台是什么图形设备和图形文件R的图形组成和图形参数R的图形边界和布局如何修改R的图形参数单变量分布的可视化核密度图核密度图用于展示单个数值型变量的分布或多个数值型变量的联合分布特征绘制核密度图的首要任务是核密度估计。核密度估计是一种仅从样本数据自身出发估计其密度函数并准确刻画其分布特征的非参数统计方法x0处密度的估计:核密度估计的R函数:density单变量分布的可视化案例涉及的R函数hist(数值型向量,freq=TRUE/FALSE)lines(x=横坐标向量,y=纵坐标向量)plot(数值型向量或矩阵,type=线的类型名)rug(向量,side=1/3)jitter(数值型向量,factor=1)单变量分布的可视化小提琴图:小提琴图是箱线图和核密度图的结合,因形状酷似小提琴而得名小提琴图的R函数vioplot(数值型向量,horizontal=TRUE/FALSE)vioplot(数值型向量名列表,names=横坐标轴标题向量)案例涉及的R函数title(main=图标题,sub=副标题,xlab=横坐标标题,ylab=纵坐标标题)text(x=横坐标向量,y=纵坐标向量,labels=文字内容,srt=旋转度数)单变量分布的可视化克利夫兰点图:用于直观展示数据中可能的异常点。横坐标为变量值,纵坐标为各观测编号(观测编号越小纵坐标值越大)克利夫兰点图的R函数dotchar(数值型向量)案例涉及的R函数legend(图例位置常量,title=图例标题,图例说明文字向量,pch=图例符号说明向量,bg=图例区域背景色,horiz=TRUE/FALSE)多变量联合分布特征的可视化曲面图和等高线图的R函数persp(x,y,z,theta=n1,phi=n2,expand=n3,shade=n4)contour(x,y,z,nlevels=n)案例涉及的R函数mvrnorm(n=样本量,mu=均值向量,Sigma=协方差阵,empirical=TRUE/FALSE)densityMclust(data=矩阵或数据框)多变量联合分布特征的可视化雷达图:雷达图能够刻画不同观测在多个变量上的取值差异性。它从一个点出发,用多条射线依次对应多个变量。将不同观测在多个变量上的取值点连线,便形成雷达图雷达图的R函数radarchart(df=数据框,axistype=n1,seg=n2,maxmin=TRUE/FALSE,vlabels=标签,title=图标题)变量间相关性的可视化马赛克图:用于展示两或三个分类型变量的相关性。因图中格子的排列形似马赛克而得名马赛克图的R函数mosaic(~分类型域名1+分类型域名2+…,data=数据框名,shade=TRUE/FALSE,legend=TRUE/FALSE)变量间相关性的可视化散点图:散点图将观测数据以点的形式绘制在一个二维平面中,通过数据点分布的形状展示两个或多个数值型变量间的相关性特点。散点图分为简单散点图、气泡图、矩阵散点图等简单散点图的R函数plot(x=数值型向量1,y=数值型向量2)plot(域名2~域名1,data=数据框名)变量间相关性的可视化案例涉及的R函数lm(被解释变量名~解释变量名,data=数据框名)loess(被解释变量名~解释变量名,data=数据框名)abline(数值型向量),或,abline(h=纵坐标值),或,abline(v=横坐标值)高密度散点图的处理smoothScatter(x=横坐标向量,y=纵坐标向量)hexbin(数值型向量1,数值型向量2,xbins=箱数)变量间相关性的可视化三维散点图和气泡图展示两数值型变量相关性的同时,还希望体现第三个变量的取值状况三维散点图的R函数scatterplot3d(数值型向量1,数值型向量2,数值型向量3)气泡图的R函数symbols(向量1,向量2,circle=向量名3,inches=计量单位,fg=绘图颜色,bg=填充色)变量间相关性的可视化矩阵散点图:用于在一副图上同时展示多对数值型变量的相关性矩阵散点图的R函数pairs(~域名1+域名2+…+域名n,data=数据框名)scatterplotMatrix(~域名1+域名2+…+域名n,data=数据框名,lty.smooth=2,spread=FALSE)变量间相关性的可视化分组散点图:若要展示两个数值型变量之间的相关性在不同样本组上的差异,需要绘制分组散点图,也称协同图分组散点图的R函数coplot(域名1~域名2|分组域名,number=分组数,data=数据框名)变量间相关性的可视化相关系数图:由下三角区域、上三角区域、对角区域三个部分组成。区域在这里称为面板,三个区域也分别称为下面板,上面板和对角面板。除对角面板外,上下面板以不同形式直观展示一对变量的相关性强弱相关系数图的R函数corrgram(矩阵或数据框列,lower.panel=面板样式,upper.panel=面板样式,text.panel=面板样式,diag.panel=面板样式)GIS数据的可视化GIS数据,简单讲就是与地理位置有关的一系列数据,包括地理遥感数据、地理统计资料、地理实测数据、地理多媒体数据以及地理文本数据等等GIS数据是一种典型的空间数据,有两种描述方式栅格方式:将物体表面划分为大小均匀、紧密相邻的网格阵列。每个网格多视为一个像素矢量方式:通过坐标记录的方式精确地表示点、线和多边形等地理实体,包括:空间数据,即描述地物所在位置的数据属性数据,即描述地物特征的定性或定量数据GIS数据的可视化绘制世界地图和美国地图涉及的R函数map(database=数据集,fill=TRUE/FALSE)map.text(database=数据集,region=区域,add=TRUE/FALSE)rainbow(n=m,start=0,alpha=a)GIS数据的可视化绘制中国行政区划地图常见的矢量型GIS数据格式是美国ESRI的Shapefiles格式涉及的R函数readShapeSpatial(fn=Shapefile文件名)slot(object=空间多边形数据框名,name=槽名)plot(空间多边形数据框名,panel.first=grid())pointLabel(坐标,labels=文字,doPlot=TRUE)GIS数据的可视化依据地图绘制热力图:不同省市的淘宝女装成交指数有差异吗?文本词频的可视化词云图:以字号的大小表示词频的高低词云图的R函数:wordcloud(words=词向量,freq=词频向量,min.freq=n,max.words=m,random.order=TRUE/FALSE)R的近邻分析:数据预测预测和预测模型预测是基于对历史数据的分析,归纳和提炼其中包含的规律,并将这种规律体现于预测模型中数据预测的核心是建立预测模型,它要求参与建模的变量分饰两种不同的角色:输入变量(也称解释变量,特征变量,记为x。解释变量可以有多个,记为X)角色,输出变量(也称被解释变量,记为y,通常被解释变量只有一个)角色,且输入和输出变量的取值在已有数据集上是已知的。预测模型充分反映并体现了输入变量取值和输出变量取值间的线性或非线性关系,能够用于对新数据对象的预测,或对数据未来发展趋势进行预测等预测和预测模型预测模型分为输出变量为分类型的预测模型称为分类预测模型输出变量为数值型的预测模型称为回归预测模型传统统计中的一般线性模型、广义线性模型、判别分析都能够解决不同预测模型的建立问题提前:在数据满足某种分布假设下,明确设定输出变量与输入变量取值关系的函数形式在更为宽泛的应用中,大多假设可能是无法满足的。同时,在输入变量较多,样本量较大的情况下,给出函数f的具体形式非常困难解决策略:近邻分析法近邻分析:K-近邻法为预测一个新观测X0输出变量y0的取值,近邻分析法的基本思想:首先在已有数据中找到与X0相似的若干个(如K个)观测,如(X1

,X2

,…,Xk)。这些观测称为X0的近邻然后,对近邻(X1

,X2

,…,Xk)的输出变量(y1

,y2

,…,yk),计算诸如算术平均值(或加权均值,或中位数,或众数),并以此作为新观测X0输出变量取值y0的预测值典型的近邻分析方法是K-近邻法(KNN)。它将样本包含的n个观测数据看成为p维(p个输入变量)特征空间中的点,并根据X0的K个近邻的(y1

,y2

,…,yk)依函数计算K-近邻法中的距离常用的距离:闵可夫斯基距离欧氏距离绝对距离切比雪夫距离夹角余弦距离数据的预处理K-近邻法中的近邻个数最简单情况下只需找到距离X0最近的一个近邻Xi,即参数K=1(1-近邻)1-近邻法非常简单,尤其适用于分类预测时,特征空间维度较低且类别边界极不规则的情况1-近邻法只根据单个近邻进行预测,预测结果受近邻差异的影响极大,通常预测波动(方差)性较大,稳健性低可通过增加近邻个数K以提升预测的稳健性增加K会导致分类边界趋于平滑,预测误差增大,依据对预测误差的接受程度设置参数K,是一种可取的方式K-近邻法中的近邻个数旁置法将整个样本集随机划分为两个集合。一个集合称为训练样本集,另一个集合称为测试样本集。利用建立在训练样本集上的预测模型,对测试样本集做预测并计算其预测误差。该预测误差也称为测试误差将作为模型预测误差的估计旁置法适合样本量较大的情况留一法在包含n个观测的样本中,抽出一个观测作为测试样本集,剩余的n-1个观测作为训练样本集;依据建立在训练样本集上的预测模型,对被抽出的一个观测进行预测,并计算预测误差;这个过程需重复n次;最后,计算n个预测误差的平均值,该平均值将作为模型预测误差的估计R的K-近邻法和应用示例K-近邻的R函数knn(train=训练样本集,test=测试样本集,cl=输出变量,k=近邻个数K,prob=TRUE/FALSE,use.all=TRUE/FALSE)knn1(train=训练样本集,test=测试样本集,cl=输出变量)knn.cv(train=训练样本集,cl=输出变量,k=近邻个数)进行关于分类预测和回归预测的模拟分析,目的是观察参数K对K-近邻法的影响K-近邻法应用:天猫成交顾客的分类预测K-近邻法的适用性及特征选择K-近邻的适用性:适用于特征空间维度较低且类别边界极不规则情况下的分类预测随特征空间维度p的增加,K-近邻法的“局部”性逐渐丧失,导致预测偏差增大有效降低特征空间的维度,是获得K-近邻方法理想应用的前提保证。降低特征空间维度的最常见处理策略是特征选择特征选择特征选择:是从众多的输入变量中,找出对输出变量分类预测有意义的重要变量。那些对输出变量分类预测没有意义的输入变量,将不再参与预测模型的建立变量的重要性可从三个方面考察:从变量本身考察:从变量本身看,重要的变量应是携带信息较多,也就是变量值差异较大的变量从输入变量与输出变量相关性角度考察简单相关分析、方差分析、卡方检验从预测误差角度考察:Wrapper方法:依据使预测错判率(分类预测)或均方误差(回归预测)下降的速度给输入变量打分基于变量重要性的加权K-近邻法计算加权距离,给重要的变量赋予较高的权重,不重要的变量赋予较低的权重加权欧氏距离第i个变量的重要性定义为:变量重要性判断应用天猫成交顾客预测中的重要变量基于观测相似性的加权K-近邻法权重设计:针对各观测,依赖于各观测与X0的相似性。其核心思想是:将相似性定义为各观测距X0距离的某种非线性函数,且距离越近相似性越强,权重越高,预测时的重要性越大常见的核函数均匀核三角形核高斯核基于观测相似性的加权K-近邻法加权K-近邻法的距离和相似性变换输入变量值的预处理计算距离d采用核函数将距离变换为相似性最终核函数为:基于观测相似性的加权K-近邻法加权K-近邻法的R函数kknn(formula=R公式,train=训练样本集,test=测试样本集,na.action=na.omit(),k=近邻个数K,distance=k,kernel=核名称)加权K-近邻法应用天猫成交顾客的分类预测R的决策树:数据预测决策树算法概述决策树是一种直观有效展示规则集的图形方式,也是实现分类预测的经典数据挖掘算法决策树较好地规避了传统统计中利用一般线性模型、广义线性模型、判别分析对数据分布的要求,能够在无分布限制的“宽松环境下”,找出数据中输入变量和输出变量取值间的逻辑对应关系或规则,并实现对新数据输出变量的预测决策树的目标建立分类预测模型建立回归预测模型什么是决策树什么是决策树根节点叶节点中间节点2叉树和多叉树决策树的特点决策树体现了对样本数据的不断分组过程决策树体现了输入变量和输出变量取值的逻辑关系决策树的几何意义决策树的几何意义可将样本集中的每一个观测看成是n维(n个输入变量)特征空间上的一个点,输出变量取不同类别的点以不同形状表示(如圆圈或三角形)从几何意义上理解,是决策树的每个分枝在一定规则下完成对n维特征空间的区域划分。决策树建立好后,n维特征空间被划分成若干个小的矩形区域。矩形区域的边界平行或垂直于坐标轴决策树的核心问题决策树的核心问题第一,决策树的生长,即利用训练样本集完成决策树的建立过程第二,决策树的剪枝,即利用测试样本集对所形成的决策树进行精简分类回归树的生长过程分类回归树的生长过程本质是对训练样本集的反复分组,涉及两个问题:如何从众多输入变量中选择当前最佳分组变量如何从分组变量的众多取值中找到一个最佳分割点最佳分组变量和最佳分割点应是使输出变量异质性下降最快的变量和分割点信息熵:是信息量的数学期望先验熵和后验熵信息增益:测度异质性下降的程度分类树的生长过程输出变量异质性及异质性变化的测度Gini系数:节点样本的输出变量均取同一类别值,输出变量取值的差异性最小,Gini系数为0。各类别取值概率相等时,输出变量取值的差异性最大回归树的生长过程输出变量异质性及异质性变化的测度方差异质性下降的测度指标为方差的减少量分类回归树的剪枝分类回归树采用预修剪和后修剪相结合的方式剪枝预修剪目标是控制决策树充分生长,可以事先指定一些控制参数,例如:决策树最大深度树中父节点和子节点所包含的最少样本量或比例树节点中输出变量的最小异质性减少量后修剪策略是在决策树生长到一定程度之后,根据一定规则,剪去决策树中的那些不具有一般代表性的叶节点或子树,是一个边修剪边检验的过程分类回归树采用的后修剪技术称为最小代价复杂度剪枝法(MinimalCostComplexityPruning,MCCP)最小代价复杂度的测度出发点:决策树修剪中复杂度和精度(或误差)之间的权衡是必要的,既要尽量使决策子树没有很高的复杂度,又要保证修剪后的决策子树,其预测误差不明显高于复杂的决策树决策树T的代价复杂度最小代价复杂度剪枝判断能否剪掉一个中间节点{t}下的子树Tt时,应计算中间节点{t}和其子树Tt的代价复杂度最小代价复杂度剪枝分类回归树后剪枝过程,两个阶段:第一个阶段:不断调整CP参数

并依据

剪掉子树,得到k个备选子树最终将得到若干个具有嵌套(包含)关系的子树序列(依次增大,包含的叶节点数依次减少)第二个阶段:在k个备选子树中选出最优子树分类回归树的交叉验证剪枝小样本集下因测试样本集的样本量小,且训练样本集和测试样本集的划分具有随机性,会导致CP参数值的设定不恰当。为此,可采用N折交叉验证剪枝N折交叉验证首先,将数据集随机近似等分为不相交的N组,称为N折然后,令其中的N-1组为训练样本集,用于建立模型。剩余的一组为测试样本集,计算预测误差N折交叉验证一般应用第一,模型预测误差的估计,即模型评价第二,确定合理的模型,即模型选择分类回归树的交叉验证剪枝CP参数值的典型代表值

分类回归树的R函数和应用分类回归树的R函数rpart(输出变量~输入变量,data=数据框名,method=方法名,parms=list(split=异质性测度指标),control=参数对象名)printcp(决策树结果对象名)plotcp(决策树结果对象名)分类回归树的应用提炼不同消费行为顾客的主要特征组合预测:给出稳健的预测组合预测模型是提高模型预测精度和稳健性的有效途径首先,基于样本数据建立一组模型而非单一模型其次,预测时由这组模型同时提供各自的预测结果,通过类似“投票表决”的形式决定最终的预测结果组合预测中的单个模型称为基础学习器,它们通常有相同的模型形式。如何获得多个样本集合,如何将多个模型组合起来实现更合理的“投票表决”,是组合模型预测中的两个重要方面。常见技术:袋装(Bagging)技术推进(Boosting)技术袋装技术袋装技术的英文为Bagging,是BootstrapAggregating的缩写。顾名思义,Bagging的核心是Bootstrap,也称重抽样自举法对样本量为n样本集S,重抽样自举法(也称0.632自举法)的做法对S做k次有放回地重复抽样,得到k个样本容量仍为n的随机样本Si(i=1,2,…,k),称自举样本袋装技术基于k个自举样本建立组合预测模型第一,建模阶段第二,预测阶段第三,模型评估阶段袋装技术ipred包中的bagging函数bagging(输出变量名~输入变量名,data=数据框名,nbagg=k,coob=TRUE,control=参数对象名)adabag包中的bagging函数bagging(输出变量名~输入变量名,data=数据框名,mfinal=重复次数,control=参数对象名)袋装技术的应用稳健定位目标客户推进技术袋装技术中,自举样本的生成完全是随机的。多个模型在预测投票中的地位也都相同,并未考虑不同模型预测精度的差异性。推进技术在这两方面进行了调整,其中的AdaBoost(AdaptiveBoosting)策略已有较为广泛的应用。包括两个阶段:第一,建模阶段第二,预测阶段推进技术的R函数boosting(输出变量名~输入变量名,data=数据框名,mfinal=重复次数,boos=TRUE,coeflearn=模型权重调整方法,control=参数对象名)随机森林随机森林是一种组合预测模型。用随机方式建立一片森林,森林中包含众多有较高预测精度且弱相关甚至不相关的决策树,并形成组合预测模型。后续,众多预测模型将共同参与对新观测输出变量取值的预测随机森林的随机性表现在两个方面:第一,训练样本是对原始样本的重抽样自举,训练样本具有随机性第二,在每棵决策树建立过程中,成为当前最佳分组变量的输入变量,是输入变量全体的一个随机候选变量子集中的“竞争获胜者”。分组变量具有随机性。随机森林构建变量子集

i的常见方式随机选择输入变量:也称Forest-RI(RandomInput)方式,即通过随机方式选择k个输入变量进入候选变量子集

i

。依据变量子集

i将建立一棵充分生长的决策树,无需剪枝以减少预测偏差随机组合输入变量:也称Forest-RC(RandomCombination)方式。通过随机选择L个输入变量x并生成L个均服从均匀分布的随机数

,做线性组合重复得到k个由新变量v组成的输入变量子集

i。依据变量子集

i

建立一棵充分生长的决策树,且无需剪枝随机森林确定k的依据第一,决策树对袋外观测的预测精度,也称决策树的强度第二,各决策树间的相互依赖程度,也称决策树的相关性k越大,每棵树的预测偏差越小(也即强度越高),但因决策树间的相关性较大导致预测方差越大。反之,k越小,每棵树的预测偏差越大(也即强度越低),但因决策树间的相关性较低导致预测方差较小。所以,在相关性与强度之比最小下的k是合理的随机森林随机森林的R函数randomForest(输出变量名~输入变量名,data=数据框名,mtry=k,ntree=Mimportance=TRUE)margin(随机森林结果对象名)treesize(随机森林结果对象名,terminal=TRUE/FALSE)importance(随机森林结果对象名,type=类型编号)varImpPlot(随机森林结果对象名,sort=TRUE,n.var=个数)随机森林的应用稳健定位目标客户数据挖掘与R语言概述数据挖掘与R语言概述人类的数据生产能力达到空前从数据挖掘方法入手,无疑是最佳选择R语言是目前应用最为广泛的数据挖掘与分析工具第一,共享性第二,分析方法丰富第三,操作简便性和灵活性第四,成长性什么是数据挖掘对数据挖掘的理解已达成如下共识首先,数据挖掘是一个利用各种方法,从海量的有噪声的各类数据中,提取潜在的、可理解的、有价值的信息过程其次,数据挖掘是一项涉及多任务、多学科的庞大的系统工程,涉及数据源的建立和管理、从数据源提取数据、数据预处理、数据可视化、建立模型和评价以及应用模型评估等诸多环节数据挖掘的诸多环节本质上可归纳为两个具有内在联系的阶段:数据的存储管理阶段和数据的分析建模阶段,涉及计算机科学和统计学等众多交叉学科领域数据挖掘的结果数据挖掘结果有如下呈现方式数学模型推理规则图形数据挖掘结果的基本特征潜在性可理解性有价值性数据挖掘能做什么数据挖掘可以解决四大方面的问题数据预测:基于对历史数据的分析,预测新数据的特征,或是预测数据的未来发展趋势等发现数据的内在结构:发现数据集中可能包含着的若干个小的数据子集发现关联性:找到变量取值的内在规律性模式诊断:找到数据集中的模式数据挖掘方法的特点数据挖掘方法是统计方法和机器学习方法的有机结合,呈现鲜明的交叉学科特点数据挖掘能够更好地适应大数据分析的要求,充分发挥统计学和机器学习的长处,解决如下三方面的问题:对目标契合度不高的数据,怎样的建模策略能够更好地迎合分析的需要对于海量、高维数据,怎样的建模策略能够更好地揭示数据特征,提高分析效率对于复杂类型和关系数据,怎样的建模策略能够清晰地揭示数据的特征数据挖掘的典型商业应用数据挖掘在客户细分中的应用数据挖掘在客户流失分析中的应用数据挖掘在营销响应分析中的应用数据挖掘在交叉销售中的应用数据挖掘在欺诈甄别中的应用R语言入门必备什么是R的包R是一个关于包的集合。包是关于函数、数据集、编译器等的集合。编写R程序过程就是通过创建R对象组织数据,通过调用系统函数,或者创建并调用自定义函数,逐步完成数据挖掘各阶段任务的过程R包的种类:基础包和共享包如何获得RR语言入门必备R的相关概念工作空间:工作空间(也称工作内存),简单讲就是R的运行环境。R会自动将基础包加载到工作空间中,从而为数据挖掘提供最基本的运行保障函数:是存在于R包中的实现某个计算或某种分析的程序段格式一:函数名()格式二:函数名(形式参数列表)R对象:存在于工作空间中的程序处理基本单元R语言入门必备了解R的工作环境R主窗口的作用当前工作空间中已加载了基础包中的哪些“小包”已加载包中有哪些可被调用的函数如何获得的R帮助文档如何拓展使用包和函数第一,当前下载安装了哪些包第二,如何加载尚未加载的包并调用其中的函数第三,如何使用共享包R语言入门必备命令行方式在R控制台的提示符>后,输入一条命令并回车即可立即得到运行结果。适合于较为简单步骤较少的数据处理和分析程序运行方式新建或打开R程序执行R程序程序执行结果的输出RstudioRstudio可有效提高R语言程序开发的便利性行

R的一般聚类:揭示数据内在结构聚类分析概述聚类分析的目的是找到这些隐藏于数据中的客观存在的“自然小类”,并通过刻画“自然小类”体现数据的内在结构“自然小类”具有类内结构相似,类间结构差异显著的特点。这是评价聚类结果合理性的重要依据聚类算法概述类是一组数据对象(或称观测)的集合:空间中距离较近的各观测点,可形成一个类空间中观测点分布较为密集的区域,可视为一个类来自某特定统计分布的一组观测,可视为一个类聚类算法概述主流的聚类算法从聚类结果角度:确定聚类和模糊聚类。如果任意两个类的交集为空,一个观测点最多只属于一个确定的类,称为确定聚类(或硬聚类)。否则,如果一个观测点以不同概率水平属于所有的类,称为模糊聚类(或软聚类)基于层次的聚类和非层次的聚类。如果类之间存在一个类是另一个类的子集的情况,称为层次聚类。否则为非层次聚类聚类算法概述主流的聚类算法从聚类算法(也称聚类模型)角度:基于质心的聚类模型(CentroidModels)基于联通性的聚类模型(ConnectivityModels)基于密度的聚类模型(Densitymodels)其他聚类模型从聚类数目角度,有些聚类算法要求事先确定聚类数目K,有些则不需要基于质心的聚类:K-Means聚类K-Means聚类:也称快速聚类从反复寻找类质心角度设计算法以质心为核心,视空间中距质心较近的多个观测点为一个类,得到的聚类结果一般为确定性的且不具有层次关系需事先确定聚类数目KK-Means聚类中的距离测度闵可夫斯基距离、欧氏距离、绝对距离、切比雪夫距离、夹角余弦距离基于质心的聚类:K-Means聚类K-Means聚类过程第一步,指定聚类数目K第二步,确定K个初始类质心常用的初始类质心的指定方法有:经验选择法、随机选择法、最小最大法第三步,根据最近原则进行聚类第四步,重新确定K个类质心第五步,判断是否已经满足终止聚类算法的条件,如果没有满足则返回到第三步,不断反复上述过程,直到满足迭代终止条件基于质心的聚类:K-Means聚类迭代终止的条件第一,迭代次数。当目前的迭代次数等于指定的迭代次数时终止聚类算法第二,类质心点偏移程度。新确定的类质心点与上次迭代确定的类质心点的最大偏移量,小于指定值时终止聚类算法上述两个条件中任意一个满足则结束算法通过适当增加迭代次数或合理调整质心点偏移量的判定标准,能够有效克服初始类质心点可能存在的偏差基于质心的聚类:K-Means聚类K-means聚类过程本质是一个优化求解过程评价测度基于质心的聚类:K-Means聚类R函数kmeans(x=数据矩阵,centers=聚类数目或初始类质心,iter.max=10,nstart=1)用R对模拟数据进行K-Means聚类K-Means聚类的R实现K-Means聚类的应用:环境污染的区域划分K-Means聚类的R实现PAM聚类:一种基于质心的划分型聚类算法,与K-Means聚类的主要不同:第一,距离测度采用绝对距离。聚类目标是找到类内绝对距离之和最小下的类第二,增加判断本次迭代类质心合理性的步骤PAM聚类:改进的K-Means聚类PAM聚类过程第一步,指定聚类数目K第二步,确定K个初始类质心第三步,根据最近原则进行聚类第四步,重新确定K个类质心找到最小总代价。第k类的新质心调整为最小总代价对应的xik。该步称为swap步第五步,判断是否已经满足终止聚类算法的条件,如果没有满足返回到第三步,不断反复上述过程,直到满足迭代终止条件。迭代终止条件同K-Means聚类PAM聚类:改进的K-Means聚类R函数pam(x=矩阵或数据框,k=聚类数目K,medoids=初始类质心向量,do.swap=TRUE/FALSE,stand=TRUE/FALSE)用R对模拟数据进行PAM聚类PAM聚类的R实现层次聚类:也称系统聚类,从距离和联通性角度设计算法算法视空间中距离较近的多个观测点为一个类,并基于联通性完成最终的聚类得到的聚类结果一般为确定性的且具有层次关系基于联通性的聚类:层次聚类层次聚类过程首先,每个观测点自成一类然后,计算所有观测点彼此间的距离,并将其中距离最的观测点聚成一个小类,形成n-1个类接下来,再次度量剩余观测点和小类间的距离,并将当前距离最近的观测点或小类再聚成一类重复上述过程,不断将所有观测点和小类聚集成越来越大的类,直到所有观测点聚到一起,形成一个最大的类为止基于联通性的聚类:层次聚类层次聚类中距离的联通性测度第一,观测点间距离的测度第二,观测点与小类之间、小类和小类间距离的测度最近邻(singlelinkage)法组间平均链锁(averagelinkage)法组内平均链锁(completelinkage)法质心(Centroid)法基于联通性的聚类:层次聚类R函数hclust(d=距离矩阵,method=聚类方法)层次聚类的应用:环境污染的区域划分聚类聚类数目的确定:碎石图层次聚类的R实现基于统计分布的聚类模型,从统计分布的角度设计算法,出发点:如果样本数据存在“自然小类”,那么某小类所包含的观测来自于某个特定的统计分布一个“自然小类”是来自某个特定的统计分布的随机样本观测全体是来自多个统计分布的有限混合分布的随机样本基于统计分布的聚类:EM聚类基于统计分布的聚类模型基于统计分布的聚类:EM聚类基于统计分布的聚类模型的目标是:找到各观测最可能属于的“自然小类”若观测xi(i=1,2,…n)的所属类别记为zi(z=1,2,…,K),找到最有可能属于的类,即是在已知各成分参数下,各观测取类别值zi(i=1,2,…,n)时的联合概率最大等价于在已知样本数据X和假设观测所属类别z下,找到在似然函数或对数似然函数到达最大时的成分参数值基于统计分布的聚类:EM聚类EM聚类的难点不仅各成分参数

i未知需要估计,而且各观测的所属类别zi也未知:样本信息是不完整,无法直接采用极大似然估计方法需采用EM算法求解基于统计分布的聚类:EM聚类第一步,给各观测xi随机指派一个类别zi。分别计算各成分的分布参数如对一元正态分布计算计算均值和方差第二步,在当前各成分参数下,计算观测xi属于第1至K类的概率。将观测xi重新指派到概率最大的类别k中如一元正态分布第三步,在新的类别指派下,重新计算各成分的分布参数如一元正态分布,对第k类计算加权的均值和方差观测xi所属类别是概率最大的k类基于统计分布的聚类:EM聚类EM聚类中的聚类数目问题常用的判断依据是BIC信息准则基于统计分布的聚类:EM聚类R函数Mclust(data=矩阵或数据框)模拟数据的EM聚类EM聚类的R实现EM聚类的应用:环境污染的区域划分聚类数目的确定问题EM聚类的R实现R的特色聚类:揭示数据内在结构BIRCH聚类概述BRICH聚类借鉴层次聚类的思路,采用欧氏距离、绝对距离、组间平均链锁法以及类内离差平方变化度量观测与小类、小类与小类的距离,并依距离最近原则指派观测到相应的类中。适合于聚类变量均为数值型的情况。特色:第一,有效解决了计算资源,尤其是内存空间有限条件下的高维大数据集的聚类问题第二,能够实现在线数据的动态聚类第三,以聚类角度进行噪声数据的识别BIRCH聚类聚类特征第j个小类的聚类特征一般由3组数值组成聚类特征具有可加性BIRCH聚类聚类特征树利用树形结构反映聚类结果的层次关系聚类特征树的规模取决于两个参数:分支因子B和阈值T压缩数据存储空间,各个节点仅存储聚类特征BIRCH聚类BIRCH聚类过程:

采用逐个随机抽取和处理观测数据的方式,建立聚类特征树初始化聚类特征树,对每个观测做如下判断处理:BIRCH聚类BIRCH认为,包含较多观测的叶节点为大叶节点,对应着一个观测分布的稠密区域。包含较少观测的叶节点为小叶节点,对应着一个观测分布的稀疏区域当小叶节点包含的观测个数少到一定程度,如观测个数仅为大叶节点个数的很小比例时,小叶节点中的观测即为离群点。可剔除小叶节点后继续建树BIRCH聚类的R实现BIRCH聚类的函数birch(x=矩阵,radius=聚类半径,keeptree=TRUE/FALSE)birch.getTree(CF对象名)动态新数据的聚类birch.addToTree(x=新数据集,birchObject=已有的CF对象名)birch.getTree(birchObject=新CF对象名)优化聚类解kmeans.birch(CF对象名,center=聚类数目,nstart=1)birch.killTree(birchObject=CF对象名)BIRCH聚类的R实现模拟数据的BIRCH聚类生成混合高斯分布的随机数进行BIRCH聚类将动态新数据添加到聚类特征树中,对比新数据添加前后聚类特征树的变化情况利用K-Means聚类优化BIRCH聚类结果利用分层聚类优化BIRCH聚类结果,并与K-Means优化方式进行对比BIRCH聚类的R实现BRICH聚类应用:两期岗位培训的比较SOM网络聚类概述SOM,最早是2001年芬兰科学家Kohonen提出的一种可视化高维数据的方法,属人工神经网络范畴SOM聚类基于观测点在聚类特征空间中的距离空间中距离较近的观测属于同一类,距离较远的观测分属不同的类SOM网络聚类的特色:通过模拟人脑神经细胞,引入“竞争”机制完成聚类过程SOM网络聚类SOM网络的拓扑结构网络包含两层:一个输入层和一个输出层输入层中的每个输入节点与输出节点相连,且连接强度通过连接权重测度。输出节点之间有侧向连接SOM网络聚类SOM聚类过程第一,数据预处理第二,确定聚类的初始类中心第三步,t时刻,随机读入观测数据x(t),分别计算它与K个类质心的欧氏距离D(t),并找出距离最近的类质心。这个类质心对应的输出节点即为“获胜”节点,是对第t个观测样本最“敏感”的节点,记为Winc(t)第四步,调整“获胜”节点Winc(t)和其邻接节点的网络权值第五步,上述第三步和第四步会不断反复,直到满足迭代终止条件为止。迭代终止条件是:权值基本稳定或者到达指定迭代的次数SOM网络聚类网络权值调整涉及两个问题第一,调整算法第二,怎样的节点应视为“获胜”节点的邻接节点以Winc(t)为中心

覆盖范围内的输出节点均视为Winc(t)的邻接节点SOM网络聚类的R实现som函数som(data=矩阵,grid=网络结构,rlen=100,alpha=学习率,radius=邻域半径,n.hood=邻域范围形状)SOM网络聚类的可视化函数plot(x=som函数结果对象名,type=图形类型名)模拟数据的SOM网络聚类SOM网络聚类的R实现SOM网络聚类应用:手写邮政编码识别拓展SOM网络聚类拓展SOM网络:红酒品质预测预测途径直接预测:输出变量y并不参与SOM网络的建模,聚类过程与输出变量没有关系。仅到预测阶段才涉及输出变量基于拓展SOM网络的预测:输出变量y全程参与SOM网络的建模,聚类结果体现了输出变量与输入变量的取值关系,输出变量对聚类过程有重要影响。具体定义:拓展SOM网络聚类的R实现R函数xyf(data=矩阵或数据框,Y=输出变量,grid=网络结构,rlen=迭代周期数,alpha=学习率,radius=邻域半径,xweight=0.5,contin=TRUE/FALSE)拓展SOM网络预测应用DBSCAN聚类基于密度的聚类模型中的经典是DBSCAN聚类DBSCAN聚类的相关概念核心点P:若任意观测点O的邻域半径

内的邻居个数不少于minPts,则称观测点O为核心点若观测点Q的邻域半径

内的邻居个数少于minPts且位于核心点P邻域半径

的边缘线上,则称点Q是核心点P的边缘点核心点P的直接密度可达点Q:若任意观测点Q在核心点P的邻域半径

范围内,称观测点Q为核心点P的直接密度可达点核心点P的密度可达点Q:若存在一系列观测点O1,O2,…,On,且Oi+1(i=1,2,…,n-1)是Oi的直接密度,且O1=P,On=Q,则称点Q是点P的密度可达点噪声点:除上述点之外的其他观测点DBSCAN聚类DBSCAN聚类的相关概念DBSCAN聚类DBSCAN聚类过程:第一,形成小类第二,合并小类DBSCAN聚类的R实现R函数dbscan(data=矩阵或数据框,eps=n,MinPts=5,scale=FALSE/TRUE)DBSCAN聚类的模拟分析

R的人工神经网络:数据预测人工神经网络概述人工神经网络(ArtificialNeuralNetwork,ANN)是一种人脑的抽象计算模型,是一种模拟人脑思维的计算机建模方式人工神经网络的应用研究正从人工智能逐步跨入以数据分析为核心的数据挖掘领域,并大量应用于数据的分类和回归预测中。也可应用于聚类分析中人工神经网络由相互连接的神经元,也称处理单元组成。如果将人工神经网络看作一张图,则处理单元也称为节点。节点之间的连接称为边,反映了各节点之间的关联性,关联性的强弱体现在边的连接权重上人工神经网络概述人工神经网络的种类:拓扑结构角度划分两层神经网络三层神经网络和多层神经网络神经网络的最底层称为输入层,最顶层称为输出层,中间层称为隐层。神经网络的层数和每层的处理单元的数量,决定了网络的复杂程度人工神经网络概述处理单元按层次分布于神经网络的输入层、隐层和输出层中,分别称为输入节点、隐节点和输出节点输入节点负责接收和处理训练样本集中各输入变量值。输入节点的个数取决于输入变量的个数隐节点负责实现非线性样本的线性变换,隐层的层数和节点个数可自行指定输出节点给出关于输出变量的分类预测结果,输出节点个数依具体问题而定人工神经网络概述人工神经网络的种类:从连接方式角度划分根据层间连接方式,神经网络可分为前馈式神经网络:前馈式神经网络的节点连接是单向的,上层节点的输出是下层节点的输入反馈式神经网络:除单向连接外,输出节点的输出又作为输入节点的输入层内连接方式是指神经网络同层节点之间是否相互连接人工神经网络中的节点和意义节点:完整的节点由加法器和激活函数组成人工神经网络中的节点和意义节点接收的输入用向量X表示,节点给出的输出用y表示,节点与上层连接的连接权重用向量W表示,节点的偏差用

表示,则第j个节点的加法器定义为:第j个节点的激活函数定义为:人工神经网络中的节点和意义计算示例节点的意义对于分类问题,一个节点是一个分割两个类别的超平面对于回归问题,一个节点是一个回归平面人工神经网络建立的一般步骤建立人工神经网络的一般步骤第一,数据准备输入变量的取值范围通常要求在0至1之间,否则输入变量的不同数量级别将直接影响权重的确定、加法器的计算结果及最终的预测第二,网络结构的确定隐层的层数和每层隐节点个数决定了网络的复杂程度对于隐节点的个数,目前尚没有权威的确定准则人工神经网络建立的一般步骤建立人工神经网络的一般步骤第三,确定连接权重第一步,初始化连接权重向量W第二步,计算各处理单元的加法器和激活函数值,得到样本的预测值第三步,比较样本的预测值与实际值并计算预测误差,根据预测误差值重新调整各连接权重重新返回到第二步,相应的计算和连接权重的调整将反复进行,直到满足迭代终止条件为止。至此,一组相对合理的连接权重便被确定下来,超平面或回归平面也被确定下来感知机模型感知机模型:最基本的前馈式双层神经网络模型,仅由输入层和输出层构成。输出节点只有一个只能实现二分类的预测和单个被解释变量的回归预测感知机的学习过程第一,开始时(即0时刻),初始化各个连接权重和输出节点的偏差感知机模型第二,输入训练样本。t时刻,根据样本输入变量值x=(x1(t),x2(t),…xp(t))和连接权重,计算输出节点的输出值为:第三,t时刻,根据输出节点j的期望值yj(t),计算输出节点j的期望值与输出值(或预测值)的误差第四,调整第i个输入节点和第j个输出节点之间的连接权重和以及第j个输出节点的偏差:第五,判断是否满足迭代终止条件。如果满足,则算法终止,否则重新回到第二步,直到满足终止条件为止。权重调整策略遵从delta规则,即权重的调整与误差及所连接的输入成正比感知机模型B-P反向传播网络B-P(BackPropagation)反向传播网络是一种典型的人工神经网络,是一种前馈式多层感知机模型B-P反向传播网络的主要特点:包含隐层反向传播激活函数采用Sigmoid函数B-P反向传播网络B-P反向传播网络中隐层的作用实现非线性样本的线性化转化B-P反向传播网络B-P反向传播网络中的反向传播:相对于正向传播正向传播:样本信息从输入层开始,由上至下逐层经隐节点计算处理,上层节点的输出为下层节点的输入,最终样本信息被传播到输出层节点,得到预测结果。正向传播期间所有连接权重保持不变反向传播:B-P反向传播网络无法直接计算隐节点的预测误差,它利用输出节点的预测误差来逐层估计隐节点的误差,即将输出节点的预测误差反方向逐层传播到上层隐节点,逐层调整连接权重,直至输入节点和隐节点的权重全部得到调整为止,最终使网络输出值越来越逼近实际值B-P反向传播网络B-P反向传播网络中的Sigmoid函数Sigmoid函数使节点的输出被限制在0~1范围内。对于回归问题,输出节点给出的是标准化处理后的预测值,只需还原处理即可;对于分类问题,输出节点给出的是预测类别的概率值Sigmoid函数较好地体现了连接权重修正过程中模型从近似线性到非线性的渐进转变进程Sigmoid函数不但具有非线性、单调特点,还具有无限次可微的特点,这使B-P反向传播网络能够采用梯度下降法调整连接权重B-P反向传播算法连接权值确定方法的特点:采用梯度下降法,每个时刻都本着使损失函数减小最快的原则调整连接权重t时刻输出节点j的误差函数:损失函数L是参数W的平滑非线性复杂函数,没有闭合形式的解。采用迭代方式,在误差函数L曲率的局部信息引导下,搜索局部最小值B-P反向传播算法步骤:初始化:为参数向量W选取初始值W0第i次迭代,令:重复上步直到损失函数达到局部最小值多次重复启动,以避免局部而非全局最小B-P连接权重W的调整连接权重调整的目标是使损失函数L达到最小。t时刻连接权重调整应沿着损失函数曲面下降最快的方向,即负梯度方向进行令:,称为第j个输出节点t时刻的局部梯度t时刻第l隐层的第j个节点的局部梯度定义为:有:B-P反向传播网络中的学习率学习率

对神经网络的权重调整有较为明显的影响学习率

过大,连接权重改变量较大,可能导致网络工作的不稳定,且当问题的解逼近误差最小点时可能会因震荡而永远达不到最小值的位置;学习率

过小,超平面逼近正确目标的进程可能会很漫长简单的误差函数:E=w2+1B-P反向传播网络的R函数neuralnet包中的neuralnet函数neuralnet(输出变量~输入变量,data=数据框名,hidden=1,threshold=0.01,stepmax=100000,eff.fac=误差函数名,linear.outpu=TURE,learningrate=学习率,algorithm=算法名)nnet包中的nnet函数nnet(输出变量~输入变量,data=数据框名,size=隐节点个数,linout=FALSE/TREU,entropy=FALSE/TRUE,maxit=100,abstol=0.0001)Neuralnet函数的应用示例neuralnet函数的应用:精准预测顾客的消费行为建立神经网络模型评价输入变量的重要性:广义权重比较输入变量不同水平组合对输出变量的影响利用ROC曲线确定概率分割值ROC曲线:

接受者操作特性曲线,用于评价模型的分类性能,也是辅助确定概率分割值的有效工具TP/(TP+FN):TPR,称为敏感性(Sensitivity):TN/(FP+TN):TNR1-TNR:FPR,称为特异性(Specificity)TPR和TNR同时较大,FPR较小,表明分类模型的分类精度较高利用ROC曲线确定概率分割值典型的ROC曲线的横坐标为FPR,纵坐标为TPR首先,将预测概率值按降序排序然后,选择其中的几个典型值(或所有值)依次作为概率分割值

,并计算在各概率分割值

下,分类模型的当前累计TPR和FPR恰当的概率分割值

应处于TPR较大且FPR较小,如2或3处。或TPR与FPR之比最大,如2处。利用ROC曲线确定概率分割值绘制ROC曲线的R函数计算TPR和FPRprediction(predictions=概率向量,labels=类别向量)performance(对象名,measure=缩写1,x.measure=缩写2)画图plot(对象名,colorize=FALSE/TRUE,print.cutoffs.at=c())

R的支持向量机:数据预测支持向量分类概述支持向量机倾向给出把握程度更高的预测结果。支持向量机(SVM)是在统计学习理论基础上发展起来的一种数据挖掘方法,支持向量机分为支持向量分类机:用于研究输入变量与二分类型输出变量的关系及新数据预测,简称为支持向量分类(SVC)支持向量回归机:用于研究输入变量与数值型输出变量的关系及新数据预测,简称为支持向量回归(SVR)支持向量分类的基本思路设支持向量分类的分析对象是包含n个观测的训练样本,每个观测有p个输入(特征)变量和一个输出变量可将训练样本中的n个观测看成p维特征空间上的n个点,以点的不同形状(或颜色)代表输出变量的不同类别取值。支持向量分类的建模目的,就是以训练样本为研究对象,在p维特征空间中找到一个超平面,能将两类样本有效分开支持向量分类的基本思路超平面定义:可以有多条能够将红色方块和黄色圆点分开的直线支持向量分类的基本思路最大边界超平面是支持向量分类的超平面。最大边界超平面,是距两个类别(-1类和1类)的边界观测点最远的超平面支持向量分类的基本思路最大边界超平面的特点:第一,它不仅是距训练样本集中的边界观测点最远的,也是距测试样本集中的边界观测点最远的第二,最大边界超平面仅取决于两类别的边界观测点支持向量分类的三种情况线性可分样本:样本观测点可被超平面线性分开样本完全线性可分样本无法完全线性可分支持向量分类的三种情况线性不可分样本:样本观测点无法被超平面线性分开线性可分下的支持向量分类如何求解超平面分别将两类的最“外围”样本观测点连线,形成两个多边形,它是关于各类样本点集的凸包,即为最小凸多边形,各自类的样本观测点均在多边形内或边上以一类的凸包边界为基准线,找到另一类凸包边界上的点,过该点做基准线的平行线,得到一对平行线可以有多条这样的基准线和对应的平行线,找到能正确分割两类且相距最远的一对平行线并做平行线的垂线。最大边界超平面(线)即是该垂线的垂直平分线线性可分下的支持向量分类如何求解超平面对于任意观测观测Xi:超平面参数求解的目标是使d最大,且需满足上式(约束条件):线性可分下的支持向量分类如何求解超平面线性可分下的支持向量分类如何求解超平面线性可分下的支持向量分类如何求解超平面构造拉格朗日函数对参数求偏导,且令偏导数为0因为ai

0,超平面系数向量是训练样本中,所有ai>0的观测的输入和输出变量的线性组合ai=0的观测对超平面没有作用,只有ai>0的观测点才对超平面的系数向量产生影响,这样的观测点即为支持向量。最大边界超平面完全由支持向量决定线性可分下的支持向量分类如何求解超平面上述问题的对偶问题需满足的KKT条件KKT条件使得:ai>0的观测点(即支持向量),均落在类边界线上线性可分下的支持向量分类如何利用超平面进行分类预测决策函数:广义线性可分下的支持向量分类如何求解超平面采用“宽松”策略,引入松弛变量

i广义线性可分下的支持向量分类如何求解超平面采用“宽松”策略,引入松弛变量

i广义线性可分下的支持向量分类如何求解超平面可调参数:可调参数C是一个损失惩罚参数,用于平衡模型复杂度和预测误差线性不可分下的支持向量分类线性不可分的一般解决途径:特征空间的非线性转换核心思想认为:低维空间中的线性不可分问题,通过非线性转换,可转化为高维空间中的线性可分问题。即一切线性不可分问题都可通过适当的非线性空间转换变成线性可分问题线性不可分下的支持向量分类维灾难:随着特征空间维度的不断升高,超平面被估参数个数的增长惊人对于p维特征空间产生d阶交乘时,需估的模型参数个数为:线性不可分下的支持向量分类支持向量分类克服维灾难的途径因:参数和决策结果取决于变换处理后的观测内积K()一般为核函数线性不可分下的支持向量分类常见的核函数一旦核函数确定下来,参数估计和预测时就不必事先进行特征空间的映射变换处理,更无须关心非线性映射函数

()的具体形式,只需计算相应的核函数,便可完成所有计算多分类的支持向量分类可采用1对1(one-versus-one)策略或1对多(one-versus-all)策略,将二分类支持向量分类拓展到多分类预测问题中支持向量回归支持向量回归以训练样本集为数据对象,通过分析输入变量和数值型输出变量之间的数量关系,对新观测的输出变量值进行预测支持向量回归与一般线性回归支持向量回归支持向量回归的基本思路支持向量回归遵循损失函数最小原则下的超平面参数估计为降低过拟合风险采用

-不敏感损失函数:当观测X输出变量的实际值与其预测值的绝对偏差不大于事先给定的

时,认为该观测不对损失函数贡献“损失”,损失函数对此呈不敏感“反应”支持向量回归

-不敏感损失函数

-带落入

-带中的样本对超平面没有影响,未落入

带中的观测将决定超平面,是支持向量在多输入变量的情况下,

-带会演变为一个柱形“管道”,其内样本的误差将被忽略,支持向量是位于其外的样本,其拉格朗日乘子ai不等于0支持向量回归

-带落入

-带中的样本对超平面没有影响,未落入

带中的观测将决定超平面,是支持向量在多输入变量的情况下,

-带会演变为一个柱形“管道”,其内样本的误差将被忽略,支持向量是位于其外的样本,其拉格朗日乘子ai不等于0“管道”半径

很重要支持向量回归支持向量回归的目标函数约束条件

i是支持向量回归引入松弛变量,是样本观测点距管道的竖直方向上的距离

i也可定义为:约束条件为:支持向量回归的R函数svm函数svm(formula=R公式,data=数据框名,scale=TRUE/FALSE,type=支持向量机类型,kernel=核函数名,gamma=g,degree=d,cost=C,epsilon=0.1,na.action=na.omit/na.fail)tune.svm函数tune.svm(formula=R公式,data=数据框名,scale=TRUE/FALSE,type=支持向量机类型,kernel=核函数名,gamma=参数向量,degree=参数向量,cost=参数向量,na.action=na.omit/na.fail)支持向量回归的R实现利用R模拟线性可分下的支持向量分类在线性可分的原则下,随机生成训练样本集和测试样本集采用线性核函数,比较当损失惩罚参数较大和较小下的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论