決策樹分析

2021-09-19 10:02:32 字數 2539 閱讀 1360

使用分類樹的判別

(目標變數是分類變數的判別問題)

首先通過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決策樹 新酸奶決策樹分析

為了發現哪些消費者為新酸奶的目標客戶,我們利用決策樹分析酸奶消費者資料,以收入水平為決策樹的根節點,依次節點是性別和婚姻狀況,最後通過決策樹直觀的得出中等收入男性為決策樹目標客戶的結論。一 構建酸奶購買決策樹 二 分析 通過構建決策樹,我們發現只有中等收入且未婚或離異的男性消費者購買了酸奶,說明該酸...