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

  • 大小: 197KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-12
  • 語言: 其他
  • 標簽: RandomForest??

資源簡介

RandomForest,隨機森林算法

資源截圖

代碼片段和文件信息

%?函數返回一棵決策樹
function??[nodechild_valuechild_node_num]=ID3(S)%%%
????clear?clear?global?node?child_value?child_node_num;
????global?node?child_value?child_node_num
????%S=xlsread(‘aaa.xls‘);%%%
????DValue=S(:1:6);????
????DValue=roundn(DValue-1);
????CN=S(:7);
????CN=num2str(CN);%將標簽設為string型
????for?i=1:length(CN)
????????A(i)=i;
????end
????ClassPNum=[1?2?3?4?5?6];
????m=0;
????[nodechild_valuechild_node_num]=TreeNode(?DValue?CN?A?ClassPNumm?);?

end

%?生成樹結點
%?DValue--前四列數據
%?A--參與劃分的行號
%?CN--屬性值的集合(第5列數據)
%?ClassPNum為劃分的剩余屬性編號
%?當前node的父親結點為node{m}
function?[nodechild_valuechild_node_num]=TreeNode(?DValue?CN?A?ClassPNumm)
????global?node?child_value?child_node_num
????n=length(node);
????if?m>0
????????%如果父親結點存在,將本結點的序號存入父親結點的子結點序號集中
????????k=length(child_node_num{m});
????????child_node_num{m}(k+1)=n+1;??
????end?????
????%?1、樣本為空,則樹為空
????if?isempty(DValue)
????????node{?n+1?}=[];
????????child_value{?n+1?}=[];
????????child_node_num{?n+1?}=[];
????????return;
????end?
????%?2、用于劃分的剩余屬性為空,選擇多數元組所在的類作為結點
????if?isempty(?ClassPNum?)?
???????node{?n+1?}=find_most(?CNA?);
???????child_value{?n+1?}=[];
???????child_node_num{?n+1?}=[];
???????return;
????end?
????%?3、樣本中所有數據都屬于同一類,將此類作為結點
????CNRowNum=CN_sta(?CN?A);
????if?length(?find(CNRowNum==0)?)>=2
????????node{?n+1?}=CN(A(1));
????????child_value{?n+1?}=[];
????????child_node_num{?n+1?}=[];
????????return;
????%?4、樣本中所有數據不屬于同一類
????else
????????I=Exp(?CNA?);
????????for?i=1:length(?ClassPNum?)????????????
????????????Entropy(i)=avg_entropy(?DValue(:ClassPNum(i))?A?CN);
????????????Gain(i)=I-Entropy(i);
????????end
????????%?4.1、各屬性的信息增益均小于0,選擇多數元組所在的類作為結點
????????if?max(Gain)<=0
????????????node{?n+1?}=find_most(?CNA?);
????????????child_value{?n+1?}=[];
????????????child_node_num{?n+1?}=[];
????????return;
????????%?4.2、在信息增益最大的屬性上進行劃分
????????else
????????????maxG=find(?Gain==max(Gain)?);
????????????[PValue?RowNum]=type_sta(?DValue(:ClassPNum(maxG(1)))?A?);
????????????node{?n+1?}=ClassPNum(maxG(1));
????????????child_value{?n+1?}=PValue;
????????????child_node_num{?n+1?}=[];
????????????ClassPNum(maxG)=[];?????%?刪除ClassPNum(maxG)--已經進行劃分的屬性
????????????for?i=1:length(PValue)
????????????????[nodechild_valuechild_node_num]=TreeNode(?DValue?CN?RowNum{i}?ClassPNumn+1?);
????????????end
????????????return;
????????end
????end
end

%?A--參與劃分的行號
%?DValue--數據集的前四列
%?本函數用于統計參與劃分的行大多數屬于哪一個類
function?most_type=find_most(?CNA?)
????TypeName={‘1‘‘2‘‘3‘};
????CNRowNum=CN_sta(?CN?A);
????n=max(CNRowNum);
????maxn=find(?CNRowNum==n?);
????most_type=TypeName{maxn};
end

%?計算屬性P的熵
%?A--參與計算的行號,即計算的行范圍
%?Attri--求屬性Attri的熵
%?CN--類別屬性值
function?entropy=avg_entropy(?Attri?A?CN?)
????k=0;entropy=0;
????n=length(A);
????I=Exp(?CNA?);
????[PValueRowNum]=type_sta(?Attri?A?);
????for?i=1:length(?PValue?)
????????CI=Exp(?CN?RowNum{i});
????????entropy=entropy-length(?Ro

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????160768??2013-02-07?14:41??RandomForest\aaa.xls

?????文件?????146432??2013-02-07?14:41??RandomForest\bbb.xls

?????文件???????4570??2013-02-10?21:39??RandomForest\ID3.m

?????文件????????976??2016-04-06?18:04??RandomForest\RandomForest.m

?????文件?????176640??2016-04-11?08:41??RandomForest\result.xls

?????文件???????2480??2013-02-10?21:13??RandomForest\statistics.asv

?????文件???????2256??2013-02-10?22:02??RandomForest\statistics.m

?????文件????????938??2013-02-10?21:55??RandomForest\suijisenlin.asv

?????目錄??????????0??2016-04-11?08:41??RandomForest

-----------?---------??----------?-----??----

???????????????495060????????????????????9


評論

共有 條評論