位置:首頁 > 大數據教學 > R語言教學 > R語言決策樹

R語言決策樹

決策樹是曲線圖,表示在樹的形式的選擇和它們的結果。圖中的節點表示一個事件或選擇,以及圖形的邊表示所述決策規則或條件。它主要使用是在機器學習和數據挖掘應用程序中使用R語言。 使用決策樹的一個例子 - 預測電子郵件為垃圾郵件或者非垃圾郵件, 腫瘤預測是否為癌或預測一個借款作為基於的因素中的每個這些的好壞的信用風險。一般模型與觀測數據產生也被稱為訓練數據。然後一組驗證數據用於驗證和改進模型。R有其用於創建和顯示決策樹包。 對於新組預測變量,我們用這個模型在數據上的分類決定(是/否,垃圾郵件/不是垃圾郵件)到達。

R語言中的軟件包 “party” 是用來創建決策樹。

安裝R軟件包

R中控製台使用下麵的命令來安裝該軟件包。還可能要安裝相關程序包(如有)。

 install.packages("party")

包 “party” 中有 ctree()函數,它用於創建並分析決策樹。

語法

R中創建決策樹的基本語法是:

ctree(formula, data)

以下是所使用的參數的說明:

  • formula 是一個公式描述的預測和響應變量。
  • data 是所使用的數據集的名稱。

輸入數據

我們將使用R內置的數據集名為readingSkills創建一個決策樹。它描述了一個人的 readingSkills 的得分,如果我們知道變量 "age","shoesize","score" 和該人母語是否行。

下麵是示例數據。

# Load the party package. It will automatically load other dependent packages.
library(party)

# Print some records from data set readingSkills.
print(head(readingSkills))

當我們上麵的代碼執行,它會產生以下結果及圖表:

  nativeSpeaker age shoeSize    score
1           yes   5 24.83189 32.29385
2           yes   6 25.95238 36.63105
3            no  11 30.42170 49.60593
4           yes   7 28.66450 40.28456
5           yes  11 31.88207 55.46085
6           yes  10 30.07843 52.83124
Loading required package: methods
Loading required package: grid
...............................
...............................

示例

我們將使用 ctree()函數來創建決策樹,看看它的圖形。

# Load the party package. It will automatically load other dependent packages.
library(party)

# Create the input data frame.
input.dat <- readingSkills[c(1:105),]

# Give the chart file a name.
png(file = "decision_tree.png")

# Create the tree.
  output.tree <- ctree(
  nativeSpeaker ~ age + shoeSize + score, 
  data =  input.dat)

# Plot the tree.
plot(output.tree)

# Save the file.
dev.off()

當我們上麵的代碼執行時,它產生以下結果:

Decision Tree using R

結論

從上麵我們顯示的決策樹可以得出結論,人的 readingSkill 得分低於38.3,其年齡超過6的不是母語。