統(tǒng)計建模與軟件工善其事必先利其器_第1頁
統(tǒng)計建模與軟件工善其事必先利其器_第2頁
統(tǒng)計建模與軟件工善其事必先利其器_第3頁
統(tǒng)計建模與軟件工善其事必先利其器_第4頁
統(tǒng)計建模與軟件工善其事必先利其器_第5頁
已閱讀5頁,還剩79頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

來源 2012年,統(tǒng)計(AmericanStatisticalAssociation)將R簡R編程基R數(shù)據(jù)挖R發(fā)展趨R語言由AucklandRobertGentleman和RossIhaka于RossIhaka&Robert——百S語言發(fā)明人之一的JohnChambers2009年第一期RJournal上這樣對R擅長模型編程(FunctionalinitsmodelofR免費R資源公開(不是黑盒子,也不是鬼提高API接口均可調(diào)用,比如 其他統(tǒng)計軟件大部分均可調(diào)用R,比如SAS,SPSS,Statistica跨平臺,R可以在UNIX,Windows和MacOS等多操作系統(tǒng)下進R十分方便編寫函數(shù)和程序包,R語言很容易延伸和擴R社區(qū)貢獻4000+的擴展包現(xiàn)在R可以與C++,Java,Python等語言相用R有優(yōu)秀的內(nèi)在幫助系R是一種解釋性語R語言有一個強大對于熟練的編程者,他將覺得該語言比其他語言更熟悉而對于計算機初學(xué)者,學(xué)習(xí)R語言使得學(xué)習(xí)下一步的其他編程不那么,那些傻瓜軟件等)語言的語法則完全不同速度快,有大量統(tǒng)計分析模塊,可擴展性稍差,昂貴復(fù)雜的用戶圖形界面,簡單易學(xué),但是編程十分運行S語言,具有復(fù)雜的界面,與R完全兼容,昂貴無法任意取出計算過無法在中間插入任何算無法實現(xiàn)軟件所沒有新的重要統(tǒng)計方法是利用諸如SAS或SPSS等封閉軟件產(chǎn)生是輸入輸出有限制的黑盒無法實現(xiàn)規(guī)?;\算,有n個指標即使運行同一種算法,也需要手工操作n 果被FDA(FoodandDrug

Multicore適合大規(guī)模計算環(huán)境,主要解決單線程問題ParallelR2.14.0版本增加的標準版,整合了snowmulticoreR+Hadoop在Hadoop集群上運行R代碼RHIPE提供了更友好的R代碼運行環(huán)境,解決單線存限Segue利用Amazon’sWebServices(EC2)R簡R編程基R數(shù)據(jù)挖R發(fā)展趨①登入R軟件首頁②選擇鏡像③選擇操作系統(tǒng)③選擇操作系統(tǒng)④選擇

Rstudio是一款跨平臺的R語言IDE(集成開放環(huán)境),把常用的窗口都整合在一起,讓開發(fā)R標準包構(gòu)成R源代碼一部分,隨R基本安裝環(huán)境發(fā)布,捐獻包(Packages)是R功能擴展,每個Package現(xiàn)特定功能,需單獨安裝目前,R社區(qū)貢獻了5500+以上的CRAN提供每個包的源代碼和編譯好的程序包,Window下為zip文如果已連接互聯(lián)網(wǎng),在括號中輸入要安裝的程序包名稱,選擇鏡像后,程序?qū)⒆詣硬惭b程序包例如,要安裝決策樹rpart包在菜單欄路徑:Packages>installpackagesfromlocalfiles,選擇本地磁盤上zip包的文件夾(需從R壓縮包到本地)程序包的使用:librarylibrary(rpart)help>Rhelp(mean)orapropos(“mean”):搜索指定字符串函help.search(“mean”):關(guān)鍵字搜sos包,findFn(“spline”,maxPages=2),查找所有帶有字符“spline”的函數(shù)、所在的包、和匹度help>Htmlhelp>Manuals(in(functions(functions…

(library

(data x=matrix(1:20,nrow=4,ncol=5)#手工創(chuàng)建數(shù)據(jù)對象

()。2.8.3:R對象-2.8.3:R對象-矩陣和數(shù)組(Matricesanda<- typeof(aclass(aattributes(a)#僅比原向量多了一個dim對數(shù)據(jù)框有names(),rownames()和colnames(),其中names()和colnames()結(jié)果相同,可以別用一維或二維的方式提取數(shù)據(jù)框的子df1<-data.frame(x=1:3,y=c(a*,b*,c*));data.frame(cbind(a=1:2,b=c(a*,b*)));df2=data.frame(a=1:2,b=c(“a”,”b”));vec=3:4;

樣方樣方樣方Row

n2<-1:10n3<-3+rnorm(1)n4=n2>5數(shù)組:x2<-矩陣:A<-列表:Lst<-因子:sex<-c(‘M’,‘F’,‘M’,‘M’,‘F’);sexf<-時間序列數(shù)據(jù)框:df<-讀入外部文本格式數(shù)據(jù)讀入外部csvread.csv(“D:/R/weather.csv”,header=TRUE)#讀入外部文本格式數(shù)據(jù)讀入外部csvread.delim 逗號分隔符的數(shù)scan(file,what=list())#指定數(shù)據(jù)的類read.wfw()#可以用來文件中一些固定寬度格式的數(shù)某些R程序包(如foreign)提供了直接 ,SPSS,systat,Minitab件的函read.spss()#SPSS數(shù)read.xport()#SASxport數(shù)read.dta()#state數(shù)調(diào)用包查看可用的ODBC接口<-通過接口車險數(shù)據(jù)表數(shù)據(jù)到數(shù)據(jù)框中:ClaimData<-sqlFetch(myconn,">write.table(weather,>write.csv(weather,[提取的子集保留原對象的數(shù)據(jù)結(jié)構(gòu),例如,輸入數(shù)據(jù)框,輸出還是數(shù)據(jù)[[提取對象的元素,輸出結(jié)果一般都是最簡單的向量,比如str(iris[1])和$常用于數(shù)據(jù)框的操作,提取數(shù)據(jù)框中某個變量,如正數(shù),返回相應(yīng)位置的元負數(shù),忽略相應(yīng)位置的元素,x[-邏輯向量,返回與TRUE對應(yīng)位置的字符向量名字,如果向量有名字運算運算數(shù)比較運邏輯運+加<小!邏輯-減>大x&邏輯*乘小于等x&&同/除大于等邏輯^乘等同取不等xor異整)sqldf:R中編寫SQL,對數(shù)據(jù)框進行操plyr:R中的Map-Reduce思reshape2:R中的數(shù)據(jù)stringr:字符數(shù)據(jù)處理,正則表達lubridata:時間數(shù)據(jù)處操作矩操作矩陣或數(shù)組,返操作向量或列表,返回列操作向量或列表,返回向量或矩操作向量,根據(jù)因子分鐘,返回操作多個向量,返回列與sapply同,操作列表,返回向量或列與lapply類似,操作向量或列表,返回向>apply(iris[var],2,mean)#對每列求均盡量用apply函數(shù)族代替循環(huán)..a..a2bc..b0b5..c5c 2..a2a4..a2a4b0b5c5cn>ddply(ds,”location”,summarize,mean.rainfall=mean(raindall,na,rm=T))#按地區(qū)統(tǒng)計降雨FunctiontoInput

eachddply(ds,”location”,summarize,Waytoup

2-ndargumentmutate:生成新的計算字summarize:分類匯總,經(jīng)常與ddplyarrange:實現(xiàn)按照多列對數(shù)據(jù)集進行join:對數(shù)據(jù)集進行連接操作,與數(shù)據(jù)庫連接操作一if(條件)表達if((條件)表達式1else達2{ }

forin量達式for(iin1:10)while(條件)表達用法i<-while(i<10){print(i);i<-repeat表達式{異常處理表達式(循環(huán)/判別return(返回值}

{}面向特定的統(tǒng)計圖參數(shù)設(shè)置較多,較難學(xué)習(xí)和靈活應(yīng)用高級繪圖函數(shù)創(chuàng)建新圖 低級繪圖函數(shù)在現(xiàn)存圖形上添加元用戶能在更抽象層面采取圖層的設(shè)計方式,有利于結(jié)構(gòu)化思維圖形美觀,同時避免繁瑣細>p<-ggplot(data=mpg,map>p<-ggplot2:數(shù)據(jù)分析與圖形藝術(shù)

Hadley2015-2015-?詞頻文件并畫library(wordcloud)#導(dǎo)入R#讀入詞頻數(shù)wordFreq<-read.table(file="詞頻示例.txt",header=TRUE,sep="") #繪制詞云>

87中 事件地域分布年所高校數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)新專業(yè)分布地?淘寶指數(shù)文件并畫 library("maptools")#導(dǎo)入R包 #導(dǎo)入R#讀入包含省級行政區(qū)地理位置的文chinaMap<-readOGR("省級行政區(qū).shp",xy<-sapply(slot(chinaMap,"polygons"),FUN=function(x)xy<-MapFun<-{MapIndex<-sapply(Name,FUN=function(x)colPanel<-elseplot(chinaMap,panel.firstgrid(),col=colPaneltitle(main=titleName)}header=TRUE,sep="")indices<- provname<-as.vector(Data[[1]])通過source()函數(shù)進通過R編輯器運直接粘貼到R控制 R簡R編程基R數(shù)據(jù)挖R發(fā)展趨左上主要用來輸入代碼,點擊紅色標記處即可保存當(dāng)前的代碼到.R文右上,主要顯示當(dāng)前內(nèi)存中已有變量、數(shù)據(jù)集、函數(shù)等對象信息,點擊紅色標記處即可保存.R文左下顯示運行結(jié)右下顯示圖、加載包和幫助等信 顯示當(dāng)前工 設(shè)置工 小數(shù)位數(shù)行最大長度顯示當(dāng)前系統(tǒng)分給R的最大內(nèi)存顯示當(dāng)前R可用內(nèi)存上限修改R的最大內(nèi)存上限:memory.limit80776>library(rattle)加載weather數(shù)據(jù)集所在 #查看數(shù)據(jù)結(jié)>dim(weather)#查看數(shù)據(jù)維 #查看變量 #查看數(shù)據(jù)集前幾天樣 #查看數(shù)據(jù)集后幾條 #隨機查看數(shù)據(jù)集記 #獲得變量描述統(tǒng)計>id=c(“date”,”location”,”risk_mm”)#不參與建模ID變 #參與模型變>target=“raintomorrow”#目標變>numberics=names(which(sapply(weather[input],is.numeric)))#數(shù)值變>categorics=names(which(sapply(weather[input],is.factor)))#字符變?nèi)?ID變下午3上午9800下午37下午37建模變明日 目標變6唯一取值變量:uniques=names(which(sapply(weather[input],function(x)缺失值過多變量取值集中在某一取值變量分類變量的水平過多,可以合并,也可以直接剔除manylvls=names(which(sapply(weather[categorics],function(x)描述統(tǒng)計量:均值(mean),方差(var),分位點(le),中位數(shù)(median),眾數(shù)最值(max,min)數(shù)值型變量:直方圖(hist),箱線圖分類型變量:柱狀圖(barplot),餅圖數(shù)值型變量相關(guān)矩陣多數(shù)值型變量關(guān)系圖:雙變量散點圖(plot),多變量散點矩陣分類變量和數(shù)值變量關(guān)系圖:箱線圖輸入變量與二分類目標變量關(guān)系探索(mosaicplot,ggplot2包gramof>boxplot(weather$mintemp,main=‘boxplotof>barplot(table(weather$windgustdir),main=‘barplotof>pie(weather$raintomorrow,radius=1,main=‘pieof>pairs(weather[numerics[1:4]]);>mosaicplot(table(weather$windgustdir,weather$raintomorrow),colour=1:2)#分類變量與目標關(guān)>bins=binning(weather$mintemp,bins=8,method=“>mosaicplot(table(bins,weather$raintomorrow),colour=1:2)#連續(xù)變量先離散避免過度擬合,改進預(yù)測性使學(xué)習(xí)器運行更快,效能更刪除不相關(guān)的特征使根據(jù)單變量對目標貢獻的單變量篩選法,不考慮變量間的相互影選擇一組對目標預(yù)測最優(yōu)的多變量篩選法,RWeka包中InfoGainAttributeEval()函數(shù)和GainRationAttributeEval()函數(shù)>caret包中提供相關(guān)方法,另很多算法集成變量篩IV={(%good-%bad)*WOE},good為二分類預(yù)測中感的目變量預(yù)測能力強弱:<2:無預(yù)測能力;2~10:弱;10~30:中等;30+>if(is.numeric(input))input=binning(input,bins=10,method=“>temp3=sapply(temp2,function(input)>iv=sum((temp3[,1]-合并類:分類變量取值過多需要合并,最好按照業(yè)務(wù)含義合并,比如商品按照分類合并;如沒有業(yè)務(wù)上并方法,則按照不同生成指示變量:如logistic回歸、神經(jīng)網(wǎng)絡(luò)要求變量為數(shù)值型,分類變量要生成0-1的指示變變量離散按照業(yè)務(wù)含義離散化,如按照分成年輕人、中年人和老年等頻離散根據(jù)目標離散化,如使每個區(qū)間流失率差別最變量歸一化:對變量進行線性變換,將取值范圍轉(zhuǎn)為[0,1]或[-1,1]之間,不改變變量的分布形變量標準化:Z-Score變換,不改變變量的分布形態(tài),正負表示與均值的比較,數(shù)值表示偏離程>quan_mintemp<-binning(weather$mintemp,10,method=“>equal_mintemp<->mintemp.std=(mintemp-min(mintemp))/(max(mintemp)->randomForest包中的na.roughfix()函數(shù)可以實>ds=weather[input];>ds.imputed=na.roughfix(ds);>randomForest包中的rflmpute()函數(shù)可以實>dss=weather[c(input,target)];>ds.imputed=rflmpute(raintomorrow~.,dss);樣本分割:一般采用簡單隨機抽樣方法進行樣過抽樣:當(dāng)正樣本比例很低時,為了提升模型的訓(xùn)練效果,需要采用過抽樣的方式,增長正樣本的度>nobs<->n_train<->n_validate<->n_test<->vars<->train<->validate<->test<-

計算訓(xùn)練集中正樣本比基于該比例,為了達到理想的占比,需要把正樣本三把訓(xùn)練集中正樣本記錄選出來把訓(xùn)練集和三倍正樣train_new=rbind(train[train$raintomorrow==“Yes”,vars],包括了一系列基本的統(tǒng)計分析函數(shù):經(jīng)典的假設(shè)檢驗,線性模型(分析),統(tǒng)計分布,匯總統(tǒng)計,層次聚類,時間序列分析,非線性最小二乘法和多元分包包據(jù)核密度擬合方法(包括雙變量核Venables&Ripley著的“ModernAppliedStatisticswithS”中的配線性回歸模型廣義線性模型(包括logistic回歸型方差分析主成分分析 p()或者psych的因子分析

R統(tǒng)計分析的捐獻決策樹:rpart聚類分析:kmeans函關(guān)聯(lián)規(guī)則:arules神經(jīng)網(wǎng)絡(luò):nnet支持向量機(SVM):e1071包,penalizedSVM隨機森林:randomForest社會網(wǎng)絡(luò)分析:igraph協(xié)同過濾技術(shù) menderlabBoosting技術(shù):gbm包,boostEnsemlemodels:ensembleBMA

ReferenceCards:Rreferencecarddata用于提取分析結(jié)果對計算Akaike信息準則(Akaikeinformationcriterion,AIC)(依賴于#建立線性回歸模對分析結(jié)果對象做一>model<-生成決策樹規(guī)則畫出直觀的決策樹圖:fancyRpartPlot(model,main=“DecisionTreefor模型打分函數(shù)predict(),是一個泛型函數(shù),它根據(jù)不同的模型對象類型,會調(diào)用不同的打分方通過methods(predict)查看predict支持的模型對象類型。常>pr<->write.csv(data.frame(data=weather[n_test,”date”],prediction將預(yù)測結(jié)果和真實結(jié)果組合在一起,生成一個prediction對象,然后再調(diào)用performance函peroran對象,最后對perorane用pot>perf=performance(pred,measure=“tpr”,x.mean=“fpr”),可以生成ROCgraphs,Sensitivity/specificityplots和Lift>plot(performance(pred,”tpr”,”fpr”),col=‘red’,main=“ROC>plot(performance(pred,”prec”,”rec”),col=‘red’,main=“Precision/recall調(diào)用自定義函數(shù)(UDF)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論