使用分類樹的判別
(目標變數是分類變數的判別問題)
首先通過data()函式讀入資料,並通過str()函式確認其結構。
> data(titanic)
> str(titanic)
> titanic[,1,2,]
\\表示第2個變數顯示時為第1水平,第3個變數顯示時為第2水平
然後繪製馬賽克圖,將交叉統計結果視覺化。
> mosaicplot(titanic[,1,2,],color=t)
可以使用rpart程式包進行決策樹分析。由於該程式包以資料框型別作為物件,因此我們使用epitools程式包的expand.table()函式把剛才統計的鐵達尼號資料轉換成資料框,然後再進行分析。
> install.packages("epitools")
> library(epitools)
> titanic.df <- expand.table(titanic)
> library(rpart)
> titanic.tree <- rpart(survived~.,data=titanic.df,
+ method="class")
\\rpart中的第1個引數是formula
> summary(titanic.tree)
\\記錄條數(n),各分割數(nsplit)所對應的複雜性引數(cp),變數的顯著性,其後是各個節點的期望損失,分割後的記錄條數,以及用下乙個變數來分割後的改善等。
我們用partykit程式包進行視覺化。不過,需要提前通過as.party()函式把剛才的結果轉換成party形式。
> install.package("partykit")
> library(partykit)
> plot(as.party(titanic.tree))
\\另外通過plotcp()函式來畫圖:
> plotcp(titanic.tree)
\\關於數值的細節,可以從summary()函式的結果中讀取:
> titanic.tree2 <- rpart(survived~.,data=titanic.df,
+ method="class",cp=0.083)
> summary(titanic.tree2)
> plot(as.party(titanic.tree2))
使用回歸樹的**。
(目標變數為數值變數時的**問題)
首先讀入資料:
> library(ggplot2)
> data(diamonds)
由於資料量很大,因此要通過subset()函式縮小範圍後檢視資料。當書寫成x %in% c(a,b,c)的形式時,如果x是a、b、c中的乙個,則返回true,則返回false。
> diamonds2 <- subset(diamonds,subset=
+ carat >= 1.5 & carat < 2 &
+ clarity %in% c("i1","si2"))
>boxplot(diamonds2$price)
\\使用箱型圖或直方圖來觀察分布
接下來,使用rpart()函式,從carat,cut,color以及clarity這4個方面來解釋price。由於目標變數是數值變數,因此是把method引數指定為anova。
> str(diamonds)
> diamonds.tree <- rpart(formula=price~carat+cut+color+clarity,
data=diamonds,method="anova")
\\然後繪製結果資料的樹結構
> plot(as.party(diamonds.tree))
這裡和剛才的區別就是,由於解釋變數包含了數值變數carat,因此將該變數作為基準值來分類;此外,由於目標變數為數值變數,因此和分類樹中使用帶狀圖顯示分類變數的比例不同,這裡使用箱型圖來顯示數值變數的分布。
最後,執行**。把原資料前5萬條作為訓練集,剩下的作為測試資料。根據計算結果,用predict()函式**測試資料。這裡使用head()函式只顯示前幾行。
> train <- diamonds[1:50000,]
> test <- diamonds[50001:nrow(diamonds),]
> diamonds.tree2 <- rpart(
+ formula=price~carat+cut+color+clarity,
+ data=train,method="anova",cp=0.078)
> p <-predict(diamonds.tree2,newdata=test)
> head(p)
決策樹分析
進行科學的決策是專案評估工作中的主要目的之一。科學的決策方法就是對比判斷,亦即對擬建專案的備選方案進行比選。但是,決策存在一定的風險性,專案評估工作中的大量決策基本是屬於風險型決策。概率分析為在風險條件下決定方案取捨的方法,決策樹分析也是常用的風險決策方法之一。所謂決策樹分析,就是利用概率分析原理,...
excel決策樹 酸奶決策樹分析
決策樹分類演算法一般分為兩個步驟 決策樹生成和決策樹修剪,運用決策樹分析法,可以找到酸奶的目標人群市場,通過此次決策樹分析,我們得出中收入的未婚和離異的男性為目標市場人群。一 資料分析 首先計算熵和資訊增益。樣本的概率分布越均衡,它的資訊量 熵 就越大,樣本集的混雜程度就越高,資訊增益越大,說明屬性...
excel決策樹 新酸奶決策樹分析
為了發現哪些消費者為新酸奶的目標客戶,我們利用決策樹分析酸奶消費者資料,以收入水平為決策樹的根節點,依次節點是性別和婚姻狀況,最後通過決策樹直觀的得出中等收入男性為決策樹目標客戶的結論。一 構建酸奶購買決策樹 二 分析 通過構建決策樹,我們發現只有中等收入且未婚或離異的男性消費者購買了酸奶,說明該酸...