资源简介
鉴于本人去年7月份发布的《关于粗糙集和邻域粗糙集的基本理论和程序算例》其中有一些错误,可能给相关研究人员带来了误解,在此向大家道歉!
同时在此资源中新增加了本人编写的邻域粗糙集的matlab计算程序,
代码片段和文件信息
function PosSet = getPosSet(dataArraylammda)
% 以邻域粗糙集算法的方式获取下近似
% 输入dataArray为包含决策属性的数据样本,最后一列为决策属性
% lammda为邻域半径集合计算时候的参数 delta=std(data)/lammda
% lammda 注意!在这里计算的lammda和胡清华程序的lammda有区别
% 这里lammda取值尽量在0.5~1.5之间,如果太大,则不能输出正常结果,如果太小,则程序报错
% 如果数据内包含的样本数比较多(几十以上),则调大lammda=2~4
% 输出的PosSet为正域集合
% made by suozi 20140427
% QQ:379786867
[mn]=size(dataArray); % m为样本数 n为属性个数(最后一列为决策属性)
if m<3 && n<3
disp(‘输入的决策系统行列个数不得小于3个!‘);
return
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 首先对数据进行归一化
for j=1:n
amin=min(dataArray(:j));
amax=max(dataArray(:j));
for i=1:m
dataArray(ij)=(dataArray(ij)-amin)./(amax-amin);
end
end
% 此时得到的条件属性为归一化后的属性
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 计算邻域半径
delta=std(dataArray)/lammda; %这里最后一列的决策属性的邻域半径没有用的
condiAtt=dataAr
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 1249248 2014-04-30 15:44 关于粗糙集和邻域粗糙集的基本理论和程序算例(第二版).pdf
目录 0 2014-04-29 19:02 索程序及算例数据\
文件 2112 2014-04-30 15:29 索程序及算例数据\breast.mat
文件 3591 2014-04-30 14:06 索程序及算例数据\getPosSet.m
文件 604 2014-04-29 18:18 索程序及算例数据\irisPosTest.mat
文件 658 2014-04-30 14:32 索程序及算例数据\mainAccess.m
文件 2050 2014-04-30 15:16 索程序及算例数据\reduceSet.m
文件 1951 2014-04-30 15:14 索程序及算例数据\weightD.m
目录 0 2014-04-29 19:01 胡程序及算例数据\
文件 5948 2013-07-06 18:35 胡程序及算例数据\breast_testdata.mat
文件 1945 2013-03-04 22:55 胡程序及算例数据\Copy_of_clsf_dpd_fast_3.m
文件 326 2012-12-19 13:05 胡程序及算例数据\Data_normalized_suo.m
文件 3403 2013-03-04 19:42 胡程序及算例数据\featureselect_FW_fast.m
评论
共有 条评论