function [ tree ] = id3( examples, attributes, activeAttributes )
%% ID3 算法 ,构建ID3决策树
...参考:https://github.com/gwheaton/ID3-Decision-Tree
% 输入参数:
% example: 输入0、1矩阵;
% attributes: 属性值,含有Label;
% activeAttributes: 活跃的属性值;-1,1向量,1表示活跃;
% 输出参数:
% tree:构建的决策树;
%% 提供的数据为空,则报异常
if (isempty(examples));
error('必须提供数据!');
end
% 常量
numberAttributes = length(activeAttributes);
numberExamples = length(examples(:,1));
% 创建树节点
tree = struct('value', 'null', 'left', 'null', 'right', 'null');
% 如果最后一列全部为1,则返回“true”
lastColumnSum = sum(examples(:, numberAttributes + 1));
if (las
函数:id3
这是一个用MATLAB实现的ID3决策树算法。通过输入数据集、属性列表和活跃属性,构建决策树。算法首先检查数据是否为空,然后计算当前属性的熵,寻找最大信息增益,递归地构建左、右子树,直到所有属性都不再活跃。
摘要由CSDN通过智能技术生成