• 大小: 5KB
    文件类型: .rar
    金币: 2
    下载: 2 次
    发布日期: 2021-01-06
  • 语言: Matlab
  • 标签: ID3  iris  matlab  

资源简介

此程序主要实现对数据的加载和处理,首先加载数据,本算法选择的数据集是鸢尾花数据集,加载的数据形式是元胞数组,本程序先把其转换成字符串数组,后对字符串数组进行处理,将数据部分和标签部分分隔开,数据部分转换成数组形式,标签部分则对应存储于字符串数组中。然后对数据创建决策树,结果存储于结构体中,后计算算法的准确率。最后将结构体数据转换成元胞数据,转换成treeplot系统函数能识别的数据形式,并绘制决策树。

资源截图

代码片段和文件信息

function [bestfeatT_fen] = choose_feat(datafeat_indexlabel)
%这里主要是用于选择最理想的属性
%feat_index:需要进行比较的属性
%data:样本的数据 label:对应样本数据的标签

%T_fen:对应最优属性的二分法的最优分割点
%bestfeat:最优属性的索引

best_gain=0;
bestfeat=0;
% T_fen对应属性获得最大增益时的二分法取值
for i=feat_index
    mmat=unique(data(:i));%得到对应属性取值的序列
    if length(mmat)-1==0
        T_mat=mmat(1);
    else
        T_mat=ones(1length(mmat)-1);%定义二分法的值
        for j=1:length(mmat)-1
            T_mat(j)=(mmat(j)+mmat(j+1))/2;
        end
    end
    
    for j=T_mat
        Gain=Ent_cal_data(datalabelij);
        if Gain>best_gain
            best_gain=Gain;
            bestfeat=i;
            T_fen=j;
        end
    end
end

end


 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        807  2020-08-07 11:02  ID3决策树算法\choose_feat.m

     文件       1136  2020-08-08 09:07  ID3决策树算法\creat_tree.m

     文件        360  2020-08-07 18:04  ID3决策树算法\Ent_cal_data.m

     文件        491  2020-08-07 18:41  ID3决策树算法\Ent_cal_label.m

     文件        193  2020-08-07 16:48  ID3决策树算法\fen_label.m

     文件        257  2020-08-05 18:59  ID3决策树算法\find_label.m

     文件        420  2020-08-07 17:01  ID3决策树算法\find_mlabel.m

     文件       1513  2020-08-08 12:04  ID3决策树算法\ID3_v1.m

     文件       4551  2020-03-05 17:12  ID3决策树算法\iris.data

     文件        600  2020-08-07 11:09  ID3决策树算法\prev.m

     文件        425  2020-08-07 11:10  ID3决策树算法\print_tree.m

     目录          0  2020-09-03 16:56  ID3决策树算法

----------- ---------  ---------- -----  ----

                10753                    12


评论

共有 条评论