Code covered by the BSD License  

Highlights from
Modeling Lung Cancer Diagnosis Using Bayesian Network Inference

from Modeling Lung Cancer Diagnosis Using Bayesian Network Inference by Paola Favaretto
Pearl's message passing algorithm implementation and application to lung cancer diagnosis

bnMsgPassCreate(M, values, CPT)
function [nodes, edges] = bnMsgPassCreate(M, values, CPT)
% BNMSGPASSCREATE helper function for lungbayesdemo

% Reference: Neapolitan R., "Learning Bayesian Networks", Pearson Prentice Hall,
% Upper Saddle River, New Jersey, 2004.

%=== create a dummy structure for nodes
dummy1.id = [];      
dummy1.values = []; 
dummy1.parents = []; 
dummy1.children = [];
dummy1.peye = [];    
dummy1.lambda = [];
dummy1.CPT = [];     
dummy1.P = [];

%=== create a dummy structure for edges
dummy2.peyeX = [];
dummy2.lambdaX = [];

%=== create nodes
N = size(M,1); % number of nodes
nodes = repmat(dummy1, N, 1);

%=== create edges
edges = repmat(dummy2, size(M));

%=== populate nodes with data
for i = 1:N
    nodes(i).id = i;
    nodes(i).parents = find(M(:,i));
    nodes(i).children = find(M(i,:));
    nodes(i).CPT = CPT{i};
    nodes(i).values = values{i};
end




 

Contact us at files@mathworks.com