simulate50_50.m

来自「The BNL toolbox is a set of Matlab funct」· M 代码 · 共 47 行

M
47
字号
list={'alarm50','alarm100','alarm200','alarm500'};
format='%1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d %1d \n';
load c:\frank\alarm\dag;
order = topological_sort(dag);
adj=dag(order,order);
inv_o=inv_order(order);
[y,i]=sort(labels);
restalf=i(1:2:end);
rest=inv_o(restalf);
percentmissing=20;
nn=[50 100 200 500];
 restnodes=[29 37 12 16 1 3  35 33 9 19 10 23 5 25 4 21 30 22  17];
load c:\frank\alarm\twee\main_cum50_50_alarm25000;
equiv_class=1:37;
for i=1:4
    
    data=generate_bnet_data(nn(i),equiv_class,equiv_class_CPTs,parents);
    datatest=generate_bnet_data(nn(i),equiv_class,equiv_class_CPTs,parents);
    set=list{i}
    data=data(inv_o,:);
    datatest=datatest(inv_o,:);
    datamis=data;
    datatestmis=datatest;
    n=numel(data);
    k=n/100*percentmissing;
    y = randsample(n,k);
    datamis(y)=-1;
    datatestmis(y)=-1;
    name_datafile=sprintf('c:\\frank\\alarm\\twee\\%smis.txt',set);
    fid=fopen(name_datafile,'w');
    fprintf(fid,format,datamis);
    fclose(fid);
    name_datafile=sprintf('c:\\frank\\alarm\\twee\\%s.txt',set);
    fid=fopen(name_datafile,'w');
    fprintf(fid,format,data);
    fclose(fid);
    name_datafile=sprintf('c:\\frank\\alarm\\twee\\%stestmis.txt',set);
    fid=fopen(name_datafile,'w');
    fprintf(fid,format,datatestmis);
    fclose(fid);
    name_datafile=sprintf('c:\\frank\\alarm\\twee\\%stest.txt',set);
    fid=fopen(name_datafile,'w');
    fprintf(fid,format,datatest);
    fclose(fid);
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?