说明
1.参考文章:R语言实现决策树ID3算法
2.补充了分类预测的函数部分
3.采用数据框模拟xml文件的方式存储决策树
代码
训练集(train_data)
| outlook | temperature | humidity | windy | play |
|---|---|---|---|---|
| sunny | hot | high | FALSE | no |
| sunny | hot | high | TRUE | no |
| overcast | hot | high | FALSE | yes |
| rainy | mild | high | FALSE | yes |
| rainy | cool | normal | FALSE | yes |
| rainy | cool | normal | TRUE | no |
| overcast | cool | normal | TRUE | yes |
| sunny | mild | high | FALSE | no |
| sunny | cool | normal | FALSE | yes |
| rainy | mild | normal | FALSE | yes |
| sunny | mild | normal | TRUE | yes |
| overcast | mild | high | TRUE | yes |
| overcast | hot | normal | FALSE | yes |
| rainy | mild | high | TRUE | no |
测试集也是这个数据集,只是将类标移除了
模型训练函数
train<-function(formula,train_data){
#工具函数
#计算一列数据的信息熵
calculateEntropy <- function(train_data){
t <- table(train_data) #统计每种结果出现多少次
sum <- sum(t) #总次数
t <- t[t!=0] #去掉非0
entropy <- -sum(log2(t/s

本文介绍了如何在R语言中实现ID3决策树算法,包括训练集和测试集的处理,以及决策树的存储和预测。代码示例展示了模型训练和分类预测的函数,并指出在R中以数据框模拟XML存储决策树的优势。然而,这种方法可能导致预测大数据集时内存占用较大,但在小规模数据集上是有效的实现方式。
最低0.47元/天 解锁文章
778

被折叠的 条评论
为什么被折叠?



