概述
function [ empEnt ] = expEnt( A )
%计算列向量的经验熵
empEnt=0;
list=unique(A);
l=length(list);
for i=1:l
Length=length(find(A==list(i)));
p=Length/length(A);
empEnt=empEnt-p*log2(p);
end
end
function [ ecEnt ] = Ecent( A,B,emEnt)
%计算经验条件熵
ecEnt=emEnt;
Lengh_A=length(A);
list=unique(A);
Length=length(list);
for i=1:Length
loc=find(A==list(i));
L=length(loc);
Save=zeros(L,1);
for j=1:L
Save(j)=B(loc(j));
end
ecEnt=ecEnt-expEnt(Save)*L/Lengh_A;
end
end
function [Ecents] = Ecents( A )
%显示所有经验条件熵
size_A=size(A);
list_A=A(:,size_A(2));
empEnt=expEnt(list_A);
Ecents=zeros((size_A(2)-1),1);
for i=1:size_A(2)-1
data=A(:,i);
Ecents(i)=Ecent(data,list_A,empEnt);
end
end
三段代码用来计算P75的信息增益,第一段是经验熵,第二段是单独列的经验条件熵,第三段是显示所有经验条件熵。需要预处理数据,做成矩阵形式。
最后
以上就是犹豫柜子为你收集整理的《统计学习方法》matlab计算决策树信息增益的全部内容,希望文章能够帮你解决《统计学习方法》matlab计算决策树信息增益所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复