R语言:决策树ID3/C4.5/CART/C5.0算法的实现

在前文中,我们已经详细介绍了决策树算法中的ID3/C4.5/CART算法的原理,以及决策树的剪枝问题。
ID3算法戳我
C4.5算法戳我
CART算法戳我
决策树剪枝问题戳我

本文将详细介绍如何用R语言实现决策树算法。

算法 区分要点 R包
ID3 使用信息增益 rpart包中rpart函数
C4.5 使用信息增益 RWeka包中J48()
CART 使用gini rpart包中rpart函数
C5.0 C4.5的改进,比较适合于大规模数据 c50包

数据简介

本文数据选择了红酒质量分类数据集,这是一个很经典的数据集,原数据集中“质量”这一变量取值有{3,4,5,6,7,8}。为了实现二分类问题,我们添加一个变量“等级”,并将“质量”为{3,4,5}的观测划分在等级0中,“质量”为{6,7,8}的观测划分在等级1中。

数据下载

因变量:等级
自变量:非挥发性酸性、挥发性酸性、柠檬酸、剩余糖分、氯化物、游离二氧化硫、二氧化硫总量、浓度、pH、硫酸盐、酒精

library(openxlsx)
wine = read.xlsx(".../winequality-red.xlsx")  #读入数据
#将数据集分为训练集和测试集,比例为7:3
train_sub = sample(nrow(wine),7/10*nrow(wine))
train_data = wine[train_sub,]
test_data = wine[-train_sub,]

R语言实现

ID3算法

ID3算法和CART算法都是用rpart包实现的,rpart包常用参数如下:

参数 意义
formula y y y ~ x 1 x_1 x1
  • 26
    点赞
  • 179
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值