function [discretSet,disdata]=lisan(descriptors,match)
%对整个数据集进行离散化,disattr需要离散化的属性,posattr为挑选出的属性重要度最大的属性,discretSet为离散化属性集
%disdata为离散化了的属性和决策属性组成的决策表,t为程序运行时间
t1=cputime;
%match(match~=0) = 1
pstudy=[descriptors',match];
[row,col]=size(pstudy);
%初始化数据集的离散属性集
disattr=0;
discretSet=[];
ndiscretSet=size(discretSet,2);
lastdata=pstudy(:,col);%为决策属性值
disdata=lastdata;
ppstudy=pstudy;
while ndiscretSet<col-1
%ndiscretSet
disattr=disattr+1;
%求离散属性集属性重要度最大的属性
if isempty(discretSet)
posattr=[];
else
[posattr,tt]=calmaxpos(discretSet,disdata);
end
nd=size(disdata,2);
R= [posattr nd];%求划分的等价类
%根据划分的等价类划分数据集
pset=partset(R,disdata,pstudy);
%用ncl聚类方法进行聚类
for i=1:size(pset,2)
Y=pset{i}(:,1:col-1);
baseclass=ncl(pset{i}(:,1:col-1),pstudy(:,1:col-1));
base{i}=baseclass;
end
%求属性disattr的取值区间集合
d1=[];
for i=1:size(base,2)
for j=1:size(base{i},2)
if iscell(base{i})
if ~isempty(base{i}{j})
%qj=calqj(disattr,base{i}{j});%求属性disattr在每个聚类的区间
qj=[min(base{i}{j}(:,disattr)) max(base{i}{j}(:,disattr))];
end
else
%qj=calqj(disattr,base{i});
qj=[min(base{i}(:,disattr)) max(base{i}(:,disattr))];
end
d1=[d1;qj];
end
end
%合并区间
d=mergeqj(d1);
%为每个区间编号
[m1,n1]=size(d);
disd=[d [1:m1]'];%对每个区间按大小依次赋予离散化值1,2,3……
%对disattr属性进行离散化
valpca=pstudy(:,disattr);
for i=1:size(valpca)
for j=1:size(disd)
A=disd(j,:);
x=valpca(i);
if x==d(m1,2)
dispstudy(i,disattr)=m1; %如果实值x是该属性的最大值,则把x离散化为最大值
elseif isinset(x,A)
dispstudy(i,disattr)=A(3);%如果实值x属于区间A,则把x离散化为区间A对应的最大值
end
end
end
discretSet=[discretSet disattr];%将属性disattr加入到离散化属性集discretSet中
ndiscretSet=size(discretSet,2);%求属性集discretSet中属性的个数
disdata=[dispstudy(:,1:disattr) lastdata];%将离散化的属性和决策属性组成决策表
end
%保存离散化的数据集disdata和时间t
savefile = 'imagedisdata.mat';
save(savefile, 'disdata')
t2=cputime;
t=t2-t1;
savefile1 = 'program_time.mat';
save(savefile1, 't')
cucaoji.zip_cucaoji_粗糙集 离散_粗糙集MATLAB
版权申诉
104 浏览量
2022-09-14
22:32:04
上传
评论
收藏 107KB ZIP 举报
weixin_42651887
- 粉丝: 80
- 资源: 1万+
最新资源
- 海信智能电视刷机数据 LED42K330X3D(0000) 生产用软件数据 务必确认机编一致 强制刷机 整机USB升级程序
- shujudaochuceshi
- learn-ruby.zip
- test111111111111111111
- face-detect.ipynb
- 以下是一些关于ACM(国际大学生程序设计竞赛)、NOI(全国青少年信息学奥林匹克竞赛)以及CSP(全国青少年信息学奥林匹克竞赛提
- 是一些电子设计竞赛(电赛)经验分享,包括备赛策略、项目管理、团队合作和比赛期间的注意事项
- 全能运行库修复工具DirectX Repair v4.1.0.30770
- las格式点云数据使用详解(附VS编译好的LAStools工具)
- KRPano插件一键解密大师1.4.0 (解压密码1234)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论0