版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 线下2026年旅游服务合作协议
- 2025年工业物联网数字孪生接口开发实践
- 2026年比亚迪新能源汽车用户手册
- 2026年印刷机械发展史与信息传播
- 2026年痛风患者饮食控制与生活方式指导
- 2026年大学数学与思政融合课教学设计
- 产学研结合产学研合作项目实施合同范本下载
- 2026年幼儿传统节庆教育的主题活动设计
- 肝移植对骨骼力学性能与骨折愈合影响的深度剖析
- 肝硬化合并胆石症的多维度临床剖析与诊疗策略研究
- 夏县县城污水处理提质增效-一厂一策-系统化整治方案
- (正式版)SH∕T 3541-2024 石油化工泵组施工及验收规范
- DZ∕T 0173-2022 大地电磁测深法技术规程(正式版)
- 建筑施工新员工三级安全教育培训试题(答案)
- DBJ-T 15-226-2021 民用建筑电线电缆防火技术规程
- 价值需求测评报告
- 《史记孔子世家》课件
- 2023滁州职业技术学院教师招聘考试真题题库
- 管理评审全套报告与计划(完整详细版)
- 《回话的技术》读书笔记PPT模板思维导图下载
- 医院电子病历系统应用水平分级评价 4级实证材料基础项
评论
0/150
提交评论