generate_bnet_data.m

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

M
32
字号
function data=generate_bnet_data(N,equiv_class,equiv_class_CPTs,parents)
%generates data from a bayesian network
data=zeros(length(parents),N);

for i=1:length(parents)
    pa=parents{i};
    
    if isempty(pa)
        probs=equiv_class_CPTs{i};
        for n=1:N
            dd=multinornd(1,probs);
            
            data(i,n)=find(dd==1)-1;
        end
    else
        for n=1:N
            e=equiv_class(i);
            probs=equiv_class_CPTs{e};
            for j=1:length(pa)
                siz=size(probs);
                probs=probs(data(pa(j),n)+1,:);
                if j<length(pa)
                    probs=reshape(probs,siz(2:end));
                end
            end
        dd=multinornd(1,probs);
        data(i,n)=find(dd==1)-1;
        end
    end
end
        

⌨️ 快捷键说明

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