资源简介

鉴于本人去年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

评论

共有 条评论