C4.5算法

 

C4.5算法可以使用通用的称为TreeGrowth的决策树归纳算法作为生长算法。该算法的输入是训练集E和训练集F。算法递归地选择最佳属性以划分数据,并扩展树的叶节点,直到满足条件。


1.伪代码实现

TreeGrowth(E,F)
    if stopping_cond(E,F) = true then
        leaf = createNode()
        leaf.label = Classify(E)
        return leaf
    else
        root = createNode()
        root.test_cond = find_best_split(E,F)
        令V = {v | v是root.test_cond的一个可能的输出}
        for each v ∈ V do
            Ev = {e | root.test_cond(e) = v and e ∈ E}
            child = TreeGrowth(Ev,F)
            添加child为root的子节点,并将边(root——>child)标记为v
         end for
     end if
    return root

2.算法所使用的函数如下

2.1 createNode()函数为决策树创建新节点对其扩展,决策树的节点要么有一个测试条件,记为node.test_cond,要么有一个类别标签,记为node.label。

2.2 find_best_split()函数确定当前选择哪个属性作为划分训练记录的测试条件。

2.3 Classify()函数确定叶节点的类别标签。

2.4 stoppping_cond()函数通过检查是否所有的记录都属于同一个类别,或者都具有相同的属性值,决定是否终止决策树的增长。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值