R語言 決策樹 party包

2021-08-10 01:34:02 字數 1269 閱讀 4025

1、首先解釋下熵和吉尼係數在決策樹的功用

決策樹學習的關鍵是如何選擇最優的劃分屬性。通常,隨著劃分過程的不斷進行,我們希望決策樹的內部分支節點所包含的樣本盡可能屬於同一類別,即節點的「純度」越來越高。

「熵」是衡量樣本資料集純度最常用的一種指標。熵值越小,則樣本的純度越高,或者說樣本的雜亂程度越小。

「吉尼係數」也可以用來衡量樣本資料集的純度。吉尼係數越小,則表示該節點可以有效的把同一類聚集在一起。反之,分割後的類別越雜亂,則吉尼係數會越大。在決策樹生成時,當用到吉尼係數這個方法時,通常會計算每乙個特徵的吉尼係數,接著比較各個特徵下的吉尼係數,係數越小的特徵越適合先作為內部節點。

2、party包,readingskills資料,建立nativespeaker決策樹

直接放r語言**

#install.packages(「rpart」) #安裝party包,只需在首次執行改指令碼時安裝

library("party") #調出party包

mydata <- readingskills #將readingskills資料儲存在mydata裡頭

names(mydata) #檢視mydata中有幾個變數

str(mydata) #檢視每個變數的資料結構

summary(mydata) #計算各變數的基本描述性統計量

plot(x = mydata$shoesize, y = mydata$score,

xlab = "shoesize",

ylab = "score",

main = "shoesize vs score") #畫shoesize和score散點圖,x軸是shoesize,y軸是score,圖名是"shoesize vs score"

library(rpart) #調出rpart包

my.tree <- rpart(formula=nativespeaker ~ age + shoesize + score, method="class",

minsplit =20, cp=0.05, data=mydata) #決策樹結果存在my.tree物件中

printcp(my.tree) #顯示不同cp值下的錯誤率

#install.packages("rpart.plot") #安裝rpart.plot包,只需在首次執行改指令碼時安裝

library(rpart.plot) #調出rpart.plot包

rpart.plot(my.tree, type=2) #type是圖形表示的型別,有1、2、3、4四種,差異不大

r語言決策樹

決策樹演算法 決策樹的建立 建立決策樹的問題可以用遞迴的形式表示 1 首先選擇乙個屬性放置在根節點,為每乙個可能的屬性值產生乙個分支 將樣本拆分為多個子集,乙個子集對應一種屬性值 2 在每乙個分支上遞迴地重複這個過程,選出真正達到這個分支的例項 3 如果在乙個節點上的所有例項擁有相同的類別,停止該部...

決策樹與R語言 RPART

關於決策樹理論方面的介紹,李航的 統計機器學習 第五章有很好的講解。傳統的id3和c4.5一般用於分類問題,其中id3使用資訊增益進行特徵選擇,即遞迴的選擇分類能力最強的特徵對資料進行分割,c4.5唯一不同的是使用資訊增益比進行特徵選擇。特徵a對訓練資料d的資訊增益g d,a 集合d的經驗熵h d ...

R語言 決策樹及其實現

一顆決策樹包含乙個根結點 若干個內部結點和若干個葉結點 葉結點對應於決策結果,其他每個結點則對應於乙個屬性測試 每個結點包含的樣本集合根據屬性測試的結果被劃分到子結點中 根結點包含樣本全集。從根結點到葉結點的路徑對應於了乙個判定測試序列。目的 為了產生一顆泛化能力強,即處理未見示例能力強的據決策樹。...