CART算法R語言實踐
第一步:數(shù)據(jù)集劃分訓(xùn)練集和測試烧栋,比例是2:1
set.seed(1234)
index <-sample(1:nrow(iris),100)
iris.train <-iris[index,]
iris.test <-iris[-index,]
第二步:加載包含CART算法的R包
library(rpart)
第三步:構(gòu)建CART模型
model.CART <-rpart(Species~.,data=iris.train)
第四步:模型應(yīng)用到測試集
results.CART<-predict(model.CART,newdata=iris.test, type='class')
第五步:生成混淆矩陣
table(results.CART, iris.test$Species)
result.KNN/? setosa? versicolor? virginica
setosa? ? ? ? 12? ? ? 0? ? ? ? ? ? 0
versicolor? ? 0? ? ? ? 21? ? ? ? ? 3
virginica? ? 0? ? ? ? 0? ? ? ? ? ? 14
CART算法原理
1分類回歸樹(CART,ClassificationAnd
Regression Tree)也屬于一種決策樹,分類回歸樹是一棵二叉樹讹挎,且每個非葉子節(jié)點都有兩個孩子。
2決策樹生長的核心是確定決策樹的分枝準(zhǔn)則刺洒。
1)如何從眾多的屬性變量中選擇一個當(dāng)前的最佳分支變量僻肖;也就是選擇能使異質(zhì)性下降最快的變量。異質(zhì)性的度量:GINI芹啥、TWOING、least squared deviation铺峭。前兩種主要針對分類型變量墓怀,LSD針對連續(xù)性變量。
2)如何從分支變量的眾多取值中找到一個當(dāng)前的最佳分割點(分割閾值)卫键。A傀履、數(shù)值型變量——對記錄的值從小到大排序,計算每個值作為臨界點產(chǎn)生的子節(jié)點的異質(zhì)性統(tǒng)計量莉炉。能夠使異質(zhì)性減小程度最大的臨界值便是最佳的劃分點钓账。B、分類型變量——列出劃分為兩個子集的所有可能組合絮宁,計算每種組合下生成子節(jié)點的異質(zhì)性梆暮。同樣,找到使異質(zhì)性減小程度最大的組合作為最佳劃分點绍昂。
3在決策樹的每一個節(jié)點上我們可以按任一個屬性的任一個值進(jìn)行劃分啦粹。按哪種劃分最好呢?有3個標(biāo)準(zhǔn)可以用來衡量劃分的好壞:GINI指數(shù)窘游、雙化指數(shù)唠椭、有序雙化指數(shù)。
參考文獻(xiàn):
本文轉(zhuǎn)載自 ? ?http://www.360doc.com/userhome.aspx?userid=26290960&cid=10