| 查看: 322 | 回复: 0 | ||
542950171金虫 (小有名气)
|
[求助]
matlab求助
|
|
下面的一段代码为啥只实现了排序,期待解答 %基于熵的属性离散化方法,参见《一种基于熵的连续属性离散化方法》 function [result,dds]=shang(data) [m,n]=size(data); result=zeros(10,5); for i=1:n %%%%%%%%%%%%%%%%%计算划分点 setpoints=[]; seqs=[]; locs=[]; %%%%%%%%%%%%%%%当出现有相通属性值的样本点时,去掉其余的只保留一个,为后面 %为后面计算断点做准备 [seqs,locs]=sort(data(:,i)); se=seqs; for bbs=1:m-1 if se(bbs)==se(bbs+1) qs=bbs+1; while se(bbs)==se(qs) se(qs)=inf; end end end se(find(se==inf))=[]; newlen=length(se); %%%%%%%%%%%%%%%%% for j=1:newlen-1 %计算断点的值 setpoints(j)=(se(j)+se(j+1))/2; end %%%%%%%%%%%%%%%%% nn=length(setpoints);%计算现有内部断点数 for t1=1:nn+1 %计算各个断点处的卡方统计值 %%%%%%%%%%计算卡方分布值 if t1==1 s1=length(find(-inf s1=length(find(setpoints(t1-1)<=seqs&seqs s1=length(find(setpoints(t1-1)<=seqs&seqs num(t1)=s1; P(t1)=s1/m; end%接 for t1=1:nn+1 Hmin(1)=-sum(P.*log2(P));%初始熵值 k0=length(setpoints); H0=Hmin(1); Ck=zeros(1,2);%初始化Ck,另Ck(2)=0是为了它能够进入循环while Ck(2)-Ck(1)>=0 %Ck(2)是合并区间后的值,在while循环中会设置 %%%%%%%%%%%%%%%%%%循环 symbol=0; while Ck(2)-Ck(1)>=0 Ck(1)=Ck(2); if symbol==1 setpt(ad)=[]; setpoints=[]; setpoints=setpt; end Q=[]; H=[]; num=[]; setpt=[]; nn=length(setpoints);%计算现有内部断点数 setpt=setpoints; for c1=1:nn%计算去掉每个断点所得的熵值,找出其中熵差最小的一个作为合并对象 setpoints=[]; setpoints=setpt; setpoints(c1)=[]; tt=length(setpoints); for t2=1:tt+1 %计算各个断点处的卡方统计值 %%%%%%%%%%计算卡方分布值 if t2==1 s1=length(find(-inf s1=length(find(setpoints(t2-1)<=seqs&seqs s1=length(find(setpoints(t2-1)<=seqs&seqs num(t2)=s1; Q(t1)=s1/m; end%接 for t1=1:nn+1 H(c1)=-sum(Q.*log2(Q));%后续计算所得熵值 end symbol=1; [Hmin(2),ad]=min(H); % Ck(2)=(nn)*Hmin(2)-Hmin(1)*(nn-1); Ck(2)=(k0)*Hmin(2)-H0*(nn-1); Hmin(1)=Hmin(2); end nt=length(setpt); result(1:nt,i)=setpt; end pointsnum=[]; %将各个区间的值离散化 dds=zeros(m,n); for i=1:n locd=[]; locd=result(:,i); locd(find(locd==0))=[]; pointsnum(i)=length(locd)+1;%区间个数 if length(locd)~=0 for j=1:pointsnum(i) if j==1 dds(find(-inf elseif j==pointsnum(i) dds(find(locd(j-1)<=data(:,i)&data(:,i) dds(find(locd(j-1)<=data(:,i)&data(:,i)<=locd(j)),i)=j; end end end end 附件中是那篇论文[ 来自科研家族 英乐盒 ] |
» 本帖附件资源列表
-
欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com - 附件 1 : 一种基于熵的连续属性离散化算法.pdf
2012-04-19 09:06:28, 159.71 K
» 猜你喜欢
心脉受损
已经有5人回复
博士读完未来一定会好吗
已经有15人回复
Springer期刊投稿求助
已经有4人回复
读博
已经有3人回复
小论文投稿
已经有3人回复
Bioresource Technology期刊,第一次返修的时候被退回好几次了
已经有9人回复
到新单位后,换了新的研究方向,没有团队,持续积累2区以上论文,能申请到面上吗
已经有8人回复
申请2026年博士
已经有6人回复














回复此楼