R語言數(shù)據(jù)分析與挖掘 課件 第5章 決策樹_第1頁
R語言數(shù)據(jù)分析與挖掘 課件 第5章 決策樹_第2頁
R語言數(shù)據(jù)分析與挖掘 課件 第5章 決策樹_第3頁
R語言數(shù)據(jù)分析與挖掘 課件 第5章 決策樹_第4頁
R語言數(shù)據(jù)分析與挖掘 課件 第5章 決策樹_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第5章決策樹決策樹決策樹是一類有監(jiān)督的學(xué)習(xí)算法,可以視為同一組if/then規(guī)則的集合,但是從結(jié)構(gòu)上看決策樹又是一種樹狀模型。如果針對(duì)的是分類問題,一棵決策樹中的每一片樹葉都代表一個(gè)類別的標(biāo)簽,而每一個(gè)非樹葉節(jié)點(diǎn)則表示一個(gè)條件測試,每一個(gè)分支表明了條件測試執(zhí)行的結(jié)果。訓(xùn)練好決策樹后,就可以用做分類預(yù)測:從樹根開始,根據(jù)數(shù)據(jù)樣本是否滿足當(dāng)前條件,來選擇應(yīng)該繼續(xù)訪問哪一個(gè)子節(jié)點(diǎn),這樣就可以一步一步地到達(dá)樹葉,從而判斷樣本的類別。從樹根到樹葉的一條路徑就反映出對(duì)樣本分類的過程。與其他機(jī)器學(xué)習(xí)方法相比較,決策樹易于理解,也不需要對(duì)數(shù)據(jù)進(jìn)行復(fù)雜的預(yù)處理,既不需要標(biāo)準(zhǔn)化,也無須特別關(guān)注NA數(shù)據(jù)。決策樹過程生成決策樹的步驟得到一棵全局最優(yōu)的決策樹是NP難的問題,現(xiàn)實(shí)中依賴各種貪婪算法求解決策樹的訓(xùn)練問題。CART是分類與回歸樹的簡稱(ClassificationandRegressionTrees),該算法生成的決策樹既可用于分類,也可用于回歸。構(gòu)建CART決策樹的基本步驟可以概括成以下幾點(diǎn):對(duì)于給定的訓(xùn)練數(shù)據(jù)子集,尋找預(yù)測標(biāo)簽的最佳特征;劃分上述特征以獲得最好的分類結(jié)果,劃分出兩個(gè)新的數(shù)據(jù)子集;重復(fù)步驟1和2,直到滿足停止條件。決策樹過程rpart包rpart包實(shí)現(xiàn)了可用于分類或回歸的決策樹。rpart()函數(shù)的使用方法相對(duì)簡單,其調(diào)用形式為:rpart(formula,data,weights,subset,na.action=na.rpart,method,model=FALSE,x=FALSE,y=TRUE,parms,control,cost,...)參

數(shù)說

明formula表示因變量與自變量關(guān)系的響應(yīng)公式,如y~x1+x2表示y依賴于x1和x2data可選項(xiàng),用于解釋公式中的變量名,通常是包含formula中變量的數(shù)據(jù)框weights可選項(xiàng),案例權(quán)重subset可選表達(dá)式,表示哪些數(shù)據(jù)行構(gòu)成的子集可以用于擬合

na.action處理缺失項(xiàng)的方法,默認(rèn)情況下刪去沒有因變量的樣本,但是保留缺少部分自變量的樣本method可選項(xiàng)包括“anova”“poisson”“class”或“exp”。如果未提供該參數(shù),程序會(huì)根據(jù)因變量的數(shù)據(jù)類型自行猜測。如果因變量是因子型,默認(rèn)method="class";如果是數(shù)值型,假定method="anova";如果是生存對(duì)象,假定method="exp";如果包含兩列,假定method="poisson"。建議調(diào)用時(shí)明確指定所需方法決策樹過程決策樹聚類:鳶尾花分類install.packages

("rpart")

#安裝包library

(rpart)

#載入包#因變量為Species,公式中的.表示自變量為其余屬性,#method="class"表明是分類樹fit

<-

rpart

(Species

~

.,

method="class",

iris)選擇用與聚類時(shí)同樣的長寬尺寸特征來完成分類。很多深度學(xué)習(xí)包都會(huì)帶有支持GPU多線程運(yùn)算的版本,需要更復(fù)雜的安裝過程。rpart()函數(shù)產(chǎn)生的分類樹十分簡單,只有兩個(gè)條件節(jié)點(diǎn)和三片樹葉。決策樹過程決策樹畫圖函數(shù)使用泛型函數(shù)plot()畫出來的決策樹過于簡單,而且非常不美觀。可以使用rpart.plot包中的rpart.plot()畫圖。安裝好rpart.plot包后,執(zhí)行下列語句:>

library

(rpart.plot)>

rpart.plot

(fit)決策樹過程獨(dú)立性可視化

pairs

(iris[1:4],

line.main=1.5,

main

=

"Iris數(shù)據(jù)集特征對(duì)比(紅:setosa

,綠:versicolor,藍(lán):virginica)", pch

=

21,

bg

=

c("red",

"green3",

"blue") [unclass(iris$Species)])決策樹過程E1071包library(e1071)

#加載包e1071classifier

<-

naiveBayes(iris[,1:4],

iris[,5])

#創(chuàng)建分類器

table

(predict(classifier,

iris[,-5]),

iris[,5])

#生成混淆矩陣

#混淆矩陣的結(jié)果

setosa

versicolor

virginica

setosa

50

0

0

versicolor

0

47

3

virginica

0

3

47

在e1071包中包含了樸素貝葉斯模型用戶可以直接調(diào)用naiveBayes(),在參數(shù)中分別給出自變量和因變量。雖然一些特征和獨(dú)立性假設(shè)并不一致,但是還是可以取得非常好的分類效果。決策樹過程泛化性能set.seed

(2018)

#初始化隨機(jī)種子index

<-

sample

(x

=

2,

size

=

nrow

(iris),

replace

=

TRUE,

prob

=

c(0.8,0.2))

#按照80%與20%比例劃分iris.Training

<-

iris[index==1,

]

#訓(xùn)練集iris.Test

<-

iris[index==2,

]

#測試集classifier

<-

naiveBayes(iris.Training[,1:4],

iris.Training

[,5])table

(predict(classifier,

iris.Test[,-5]),

iris.Test[,5])把數(shù)據(jù)集分成兩部分,分別用于訓(xùn)練與測試。使用抽樣函數(shù)sample()來劃分?jǐn)?shù)據(jù)集,按參數(shù)prob中給出的比例隨機(jī)從x中生成數(shù)量等于size的整數(shù)。設(shè)置replcae=TRUE,使用置換抽樣的方法。決策樹過程Part/

01遞歸決策樹遞歸決策樹及可視化決策樹對(duì)分類結(jié)果的預(yù)測是基于一個(gè)或多個(gè)輸入變量并結(jié)合劃分條件完成的。分裂過程從分類樹樹根節(jié)點(diǎn)開始,在每個(gè)節(jié)點(diǎn),算法根據(jù)劃分條件檢查輸入變量是否需要繼續(xù)向左子樹或右子樹遞歸進(jìn)行劃分當(dāng)?shù)竭_(dá)分類樹的任意葉子節(jié)點(diǎn)(終點(diǎn))時(shí),停止分裂。評(píng)價(jià)遞歸決策樹預(yù)測能力如何調(diào)用predict函數(shù)和table函數(shù)分別生成預(yù)測表以及實(shí)際類標(biāo)號(hào)表。首先,需獲得分類模型churn.rp和準(zhǔn)備好之前提到的訓(xùn)練數(shù)據(jù)trainset和測試數(shù)據(jù)集testset,然后執(zhí)行以下操作完成對(duì)分類樹的預(yù)測性能驗(yàn)證。遞歸決策樹剪枝我們已經(jīng)為churn數(shù)據(jù)集構(gòu)建了一棵復(fù)雜的決策樹。但是,為了避免過度適應(yīng),我們需要去掉一部分分類描述能力比較弱的規(guī)則以提高預(yù)測準(zhǔn)確率。條件推理樹除了傳統(tǒng)決策樹(rpart)算法外,條件推理樹(ctree)是另外一類比較常見的基于樹的分類算法。與傳統(tǒng)決策樹類似,條件推理樹也是通過非獨(dú)立變量進(jìn)行單變量分裂來實(shí)現(xiàn)對(duì)數(shù)據(jù)的遞歸劃分處理。與傳統(tǒng)決策樹不同是,條件推理樹選擇分裂變量時(shí)依據(jù)的是顯著性測量的結(jié)果,而不是采用信息最大化方法(rpart里使用了基尼系數(shù))。條件推理樹預(yù)測能力在搭建好條件推理樹分類模型后,就可以

溫馨提示

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

評(píng)論

0/150

提交評(píng)論