91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 3KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-14
  • 語言: Matlab
  • 標簽: 粗糙集??

資源簡介

粗糙集約簡算法的簡單matlab實現,應用在matlab上,可以實現。

資源截圖

代碼片段和文件信息

function?[redSetsigSet]?=?reduceSet(dataArraylammdasig_ctrl)
%?該程序為鄰域粗糙集的約簡計算
%?輸入dataArray?數值型決策系統,最后一列為決策屬性
%?輸入lammda計算鄰域半徑時的參數,delta=std(dataArray)/lammda
%?lammda?注意!在這里計算的lammda和胡清華程序的lammda有區別
%?這里lammda取值盡量在0.5~1.5之間,如果太大,則不能輸出正常結果,如果太小,則程序報錯
%?如果數據內包含的樣本數比較多(幾十以上),則調大lammda=2~4
%?輸入sig_ctrl重要度下限的一個控制參數,不能太小,也不能太大。0.001左右
%?輸出?約簡后的集合及其重要度
%?此程序調用了計算積極域的程序getPosSet
%?made?by?suozi?20140427
%?QQ:379786867

[mn]=size(dataArray);?%?m為樣本數?n為屬性個數(最后一列為決策屬性)
if?m<4?||?n<4?%?小于4個就沒有意義了將導致計算依賴度時去掉一個屬性后只有一條屬性
????disp(‘輸入的決策系統行列個數不得小于4個!‘);
????return;
end

%%%%%%%%?直接判斷數據中某列中存在相同數據,直接表現即為?min?==?max
%?改修正判斷解決了很多程序運行時出現的?flag2未定義現象
dispArry=[];%用于存儲具有相同數據的列號
tmpFlag=0;%?用于判斷是否有相同數據列
for?j=1:n
???amax=max(dataArray(:j));
???amin=min(dataArray(:j));
???if?amin?==?amax
???????dispArry=[dispArryj];
???????tmpFlag?=?1;%有相同數據列存在
???end
end
if?tmpFlag?==?1
????disp(‘所給數據中以下列的列內數據相同,必為冗余數據,可手動刪除。請使用刪除整理后的數據進行數據約簡。(后續的報錯可以忽略)‘);
????dispArry
????return;

評論

共有 條評論