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_