如何在 r 中绘制决策树(附示例)
在机器学习中,决策树是一种模型,它使用一组预测变量来创建预测响应变量值的决策树。
在 R 中绘制决策树的最简单方法是使用rpart.plot包中的prp()函数。
下面的例子展示了如何在实际中使用这个功能。
示例:在 R 中绘制决策树
在本例中,我们将使用ISLR包中的Hitters数据集,其中包含 263 名职业棒球运动员的各种信息。
我们将使用此数据集构建一个回归树,该回归树使用本垒打和打球年份来预测给定球员的薪水。
以下代码展示了如何拟合此回归树以及如何使用prp()函数绘制树:
library (ISLR) library (rpart) library (rpart.plot) #build the initial decision tree tree <- rpart(Salary ~ Years + HmRun, data=Hitters, control=rpart. control (cp= .0001 )) #identify best cp value to use best <- tree$cptable[which. min (tree$cptable[," xerror "])," CP "] #produce a pruned tree based on the best cp value pruned_tree <- prune (tree, cp=best) #plot the pruned tree prp(pruned_tree)
请注意,我们还可以使用prp () 函数中的faclen 、 extra 、 roundint和digits参数来自定义决策树的外观:
#plot decision tree using custom arguments
prp(pruned_tree,
faclen= 0 , #use full names for factor labels
extra= 1 , #display number of observations for each terminal node
roundint= F , #don't round to integers in output
digits= 5 ) #display 5 decimal places in output
我们可以看到树有六个终端节点。
每个终端节点显示该节点中玩家的预测工资以及属于该评级的原始数据集的观察数。
例如,我们可以看到,在原始数据集中,有 90 名经验不足 4.5 年的球员,他们的平均工资为$225.83K 。
我们还可以使用该树根据给定球员的多年经验和平均本垒打来预测他们的薪水。
例如,一名拥有 7 年经验、平均打出 4 个本垒打的球员,其预期薪资为$502.81k 。
这是使用决策树的优点之一:我们可以轻松地可视化和解释结果。
其他资源
以下教程提供有关决策树的其他信息: