1.ID3算法:
是一种分治法,
算法输入:训练样本,各属性取离散值,可供归纳的候选属性集为:attribute_list。
输出:决策树
Gnerate_decision_tree
流程:
1》创建一个节点N;
2》如果该节点中所有样本均为同一类C,则
3》 返回N作为一个叶子节点并标识为C类;
4》如果attribute_list为空,则
5》 返回N作为一个叶子节点并标识该节点所含样本中类别个数最多的类别;
6》从attribute_list中选择一个信息增益最大的属性test_attribute;
7》并将节点N标记为test_attribute;
8》对于test_attribute中每一个已知取值ai,准备划分节点N所包含的样本集;
9》根据test_attribute=ai条件,从节点N产生分支,以表示该测试条件;
10》设si是test_attribute=ai条件所获得的样本集;
11》若si为空,则将相应叶节点标记为该节点所包含样本中类别个数最多的类别;
12》 否则,返回相应叶节点标识为Gnerate_decision_tree(si,attribute_list-test_attribute)返回值;
2.C4.5算法
C4.5算法是对ID3算法的改进,改进之处在于:
1》训练集的属性可以是连续值;
2》选择判别属性的方法是信息增益率;
3》后剪枝方法的处理。
3.J48源码简要分

本文深入探讨了ID3算法和C4.5算法,介绍了它们的工作原理和区别。ID3算法采用信息增益作为属性选择标准,而C4.5算法在ID3基础上引入了信息增益率和连续属性处理。此外,文章还分析了Weka库中J48的源码结构,包括J48.java、ClassifierTree.java、ModelSelection.java和ClassifierSplitModel.java等关键组件。
2036

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



