欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

R分类算法-决策树算法

程序员文章站 2024-02-15 14:58:04
...

决策树(Decision Tree)

它通过对训练样本的学习,并建立分类规则,然后依据分类规则,对新样本数据进行分类预测,属于有监督学习。
优点:
决策树有易于理解和实现;
决策树可处理数值型和非数值型数据;

基于条件的决策树在party包里
install.packages(“party”)
ctree(formula,data)

  • formula 建模表达式
  • data 训练数据

predic数据预测
predict(model,newdata=data.test)

  • model 通过训练样本得到的模型
  • newdata 需要预测的测试数据

代码实现:

#install.packages("party")
library(party)

data <- read.csv("data.csv")

formula <- CollegePlans ~ Gender+ParentIncome+IQ+ParentEncouragement
#CollegePlans ~ .

CollegePlansTree <- ctree(formula, data=data)
plot(CollegePlansTree)
plot(CollegePlansTree, type="simple")

R分类算法-决策树算法

#交叉验证
total <- nrow(data)

index <- sample(1:total, total*0.7)

data.train <- data[index, ]
data.test <- data[-index, ]

CollegePlansTree <- ctree(formula, data=data.train)

data.test.predict <- predict(CollegePlansTree, newdata=data.test)

prop.table(table(data.test$CollegePlans, data.test.predict), 1)
 data.test.predict
                           Does not plan to attend  Plans to attend 
  Does not plan to attend                0.91242236       0.08757764
  Plans to attend                        0.32531646       0.67468354

可以看到,决策树准确率70%,有待提高