您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > R语言应用_数据挖掘
Teradata数据挖掘之R语言应用交流Yinbinfeng2014.112Agenda©2014Teradata2一、R语言基础介绍二、如何使用R语言及思考三、R语言应用案例(1)基于熵值法指标权重设定因子分析评估(2)R自回归指标预测(3)基于二次规则的马科维茨资产组合3什么是R语言?©2014TeradataR语言是统计挖掘的绘图语言,也是实现该语言的软件。4R语言的特点©2014Teradata•目前在R网站上约有近6000个包,涵盖了基础统计学、社会学、经济学、生态学、空间分析、系统发育分析、生物信息学等诸多方面。多领域的统计资源•R可在多种操作系统上运行,如Windows、MacOS、多种Linux和UNIX等。跨平台•R即时解释,输入命令,即可获得相应的结果。命令行驱动5为什么选择R语言©2014Teradata6R和其它统计软件的比较©2014Teradata无需编程,所见即所得,重在数据的整理,能满意绝大部分常规统计分析速度快,有大量统计分析模块,可扩展性稍差,且价格昂贵简单的图型操作界面,简单易学,但编程十分困难运行S语言,具有复杂的界面,与R完全兼容,且价格昂贵SASEXCELSPSSStatisticsSPSSModelerS+7R语言的缺点©2014Teradata8R开发常用开源工具--RStudio©2014TeradataR代码区R运行结果R图型展示区及帮助区R运行对象RStudio是当前R开发最流量的开源工具之一,主要功能介绍如下:9R程序包(RPackages)©2014Teradata10R常用程序包介绍(1)©2014TeradataRPackage名称R描述abindCombinemulti-dimensionalarrayscaret分类与回归预测ccgarch基于异分差条件回归预测模型datasetsR数据集包Features特征选择foreachForeachloopingconstructforRForecast时间序列与线性回归模型ggplostR绘图包iteratorsIteratorconstructforRMatrixSparseandDenseMatrixClassesandmethods11R常用程序包介绍(2)©2014TeradataRPackage名称R描述bootB值检验cluster聚类分析mboosting模型为基础的提升(包含众多预测模,如最小二乘法)ForeachForeachloopingconstructforRforeignReadDataStoredbyS.SAS,SPSS,dBASEparallel支撑数据的并行计算penalizedSVMSVM向量机分类模型RODBCODBCDatabaseAccessXLConnectExcelConnectorforRtimeData时间序列对象12R常用程序包介绍(3)©2014TeradataRPackage名称R描述nlme线性回归和非线性回归statsT值检验、B检验、F检验、线性回归、广义回归party决策树分析模型包strings字符串类……13R语言基础对象—(1)数字向量©2014Teradata•向量是有相同基本类型的元素序列,即一维数组,定义向量的最常用办法是使用函数c(),R中用符号“-”、“=”来为变量赋值,如:x=c(1:3,10:13)x[1]12310111213•可以对向量进行加(+)减(-)乘(*)除(/)、乘方(^)运算,其含意是对向量的每一个元素进行运算。如:x-c(1,4,6.25)y=x*2+1y[1]3.09.013.514•向量可以取逻辑值,如:l=c(T,T,F)l输出[1]TRUETRUEFALSE当然,逻辑向量往往是一个比较的结果,如:x输出[1]1.004.006.25l=x3l输出[1]FALSETRUETRUE•一个向量与常量比较大小,结果还是一个向量,元素为每一对比较的结果逻辑值。如:log(10*x)[1]2.3025853.6888794.135167log(10*x)x输出[1]TRUEFALSEFALSE比较运算符包括,=,,=,==,!=。R语言基础对象—(2)逻辑向量15•如:v为和x等长的逻辑向量,x[v]表示取出所有v为真值的元素,如:•x输出:[1]1.00125.006.25•x10输出:[1]TRUEFALSETRUE•x[x10]输出:[1]1.006.25•x[x0]输出:numeric(0)•可见x[x10]取出所有小于10的元素组成的子集。•这种逻辑值下标是一种强有力的检索工具,例如x[sin(x)0]可以取出x中所有正弦函数值为正的元素组成的向量。•如果下标都是假值则结果是一个零长度的向量,•显示为numeric(0)。R语言基础对象—(2.1)取逻辑值的下标向量16•向量元素可以取字符串值。例如:c1=c(x,sin(x))c1输出[1]xsin(x)ns=c(Weight,Height,年龄)ns输出[1]WeightHeight年龄•paste函数用来把它的自变量连成一个字符串,中间用空格分开,例如:paste(My,Job)[1]MyJob•paste('Hi','早')输出[1]Hi早R语言基础对象—(3)字符型向量17•多维数组(array)带多个下标的类型相同的元素的集合,常用的是数值型的数组如矩阵,也可以有其它类型(如字符型、逻辑型、复型数组)。•数组有一个特征属性叫做维数向量(dim属性),比如维数向量有两个元素时数组为二维数组(矩阵)。维数向量的每一个元素指定了该下标的上界,下标的下界总为1。•一组值只有定义了维数向量(dim属性)后才能被看作是数组。比如:a=1:24adim(a)=c(2,4,3)aR语言基础对象—多维数组结果展现18•访问数组的某个元素,写出数组名和方括号内用逗号分开的下标即可,如a[2,1,2]。•在每一个下标位置写一个下标向量,表示对这一维取出所有指定下标的元素,如a[1,2:3,2:3]取出所有第一下标为1,第二下标为2或3,第三下标为2或3的元素。•略写某一维的下标,则表示该维全选。•还有一种特殊下标是对于数组只用一个下标向量(是向量,不是数组),比如a[3:4],这时忽略数组的维数信息,把下标表达式看作是对数组的数据向量取子集。R语言基础对象—(3.1)多维数组下标访问取第三个维度的全部数据取全部数据19•矩阵是二维数组,应用广泛•函数t(A)返回矩阵A的转置。nrow(A)为矩阵A的行数,ncol(A)为矩阵A的列数。•矩阵之间进行普通的加减乘除四则运算,即数组的对应元素之间进行运算,所以注意A*B不是矩阵乘法而是矩阵对应元素相乘。•要进行矩阵乘法,使用运算符%*%,A%*%B表示矩阵A乘以矩阵B(当然要求A的列数等于B的行数)。例如:•A-matrix(1:12,nrow=4,ncol=3,byrow=T)•B-matrix(c(1,0),nrow=3,ncol=2,byrow=T)•AR语言基础对象—矩阵运算20•矩阵运算还有solve(A,b)解线性方程组,solve(A)求方阵A的逆矩阵。R语言基础对象—矩阵解线性方程取逆矩阵解线性方程21R语言基础对象—因子及频数统计•因子是一种特殊的字符型向量,每一个元素取一组离散值中的一个,而因子对象有一个特殊属性levels表示这组离散值(用字符串表示)。函数factor()用来把一个向量编码成为一个因子。一般形式为:factor(x,levels=sort(unique(x),na.last=TRUE),labels,exclude=NA,ordered=FALSE)如:x-c(男,女,男,男,女)y-factor(x)y[1]男女男男女Levels:男女•因子的基本统计是频数统计,用函数table()来计数。如:sex=factor(c(男,女,男,男,女))res.tab-table(sex)res.tab22Agenda©2014Teradata22一、R语言基础介绍二、如何使用R语言及思考三、R语言应用案例(1)基于熵值法指标权重设定因子分析评估(2)R自回归指标预测(3)基于二次规则的马科维茨资产组合23互联网公司怎么使用R©2014Teradata24©2014TeradataTeradata公司R语言使用流程25TeradataAsterR中使用流程©2014TeradataTableaccessfunctionsRfunctionpush-downAsterClusterRODBCRODBCRClientasterRpackageRMap-reducerunnersBulkdataimport/exportODBCODBCAsterAnalyticFoundationWrappersasterRExtpackageMuleCopy26示例代码27©2014Teradata•tadf.apprx.dcount•tadf.apprx.percentile•tadf.attribution•tadf.basket•tadf.classify.text•tadf.collab.filter•tadf.cor•tadf.analyze.forest•tadf.forest.drive•tadf.forest.predict•tadf.glm•tadf.glm.predict•tadf.hist•tadf.kmeans•tadf.kmeansplot•tadf.knn•tadf.larspredict•tadf.train.lars•tadf.ldist•tadf.linreg•tadf.lm•tadf.naive.bayes.predict•tadf.naive.bayes.train•tadf.ngram•tadf.npath•tadf.mnpath•tadf.pca•tadf.percentile•tadf.pivot•tadf.sample•tadf.sessionize•tadf.single.tree.drive•tadf.single.tree.predict•tadf.extract.sentiment•tadf.train.sentiment•tadf.svm.predict•tadf.svm.train•tadf.evaluate.text.classifier•tadf.train.text.classifier•tadf.text.parse•tadf.unpack•tadf.unpivotAsterRPackage分析函数28©2014TeradataTeradata主仓库中使用流程29TeradataRPackage使用示例30©2014TeradataR语言在大数据时代的并行计算支撑31如何让R运行的更快一些?内存运行库内运行算法优化运行还能更快一点么?32Agenda©2014Teradata32一、R语言基础介绍二、如何使用R语言及思考三、R语言应用案例(1)基于熵值法指标权重设定因子分析评估(2)R自回归指标预测(3)基于二次规则的马科维茨资产组合33随着电信行业竞争日趋激烈,省级运营商对精细化运营提出了更高的要求,本方案重点从地市业务识别评估的角度从发,对不同的地市进行综合评估。应用背景—XX省移动公司©2014Teradata第一步:确认评估指标根据KPI考核指标,分别从客户发展、话务量、互通话务、财务收入、流量发展、资源投入等6方面出发,筛选出9个关键指标,并进行数据标准化处理。第二步:确认各指标权重,并根据权重计算得分1、利用熵值法确认指标的权重。2、根据权重,重新计算指标的实际值,即Value=原始值*权重值第二步:得用因子分析,计算综合得分1、利用因子分析,对11个指标进行降维,在保证数据信覆盖的前提下,得出关键因子2、根据关键因子,
本文标题:R语言应用_数据挖掘
链接地址:https://www.777doc.com/doc-4381572 .html