决策树是曲线图,表示在树的形式的选择和它们的结果。图中的节点表示一个事件或选择,以及图形的边表示所述决策规则或条件。它主要使用是在机器学习和数据挖掘应用程序中使用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()
当我们上面的代码执行时,它产生以下结果:
结论
从上面我们显示的决策树可以得出结论,人的 readingSkill 得分低于38.3,其年龄超过6的不是母语。