diff options
Diffstat (limited to 'BNW_parameter_learning/parameterLearning.m')
| -rw-r--r-- | BNW_parameter_learning/parameterLearning.m | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/BNW_parameter_learning/parameterLearning.m b/BNW_parameter_learning/parameterLearning.m index d4b67c87..414ffe6c 100644 --- a/BNW_parameter_learning/parameterLearning.m +++ b/BNW_parameter_learning/parameterLearning.m @@ -1,5 +1,14 @@ function [ bnet ] = parameterLearning( bnet,cases,engine_name ) %parameterLearning Do parameter learning and inference +% It returns the bnet with parameters learned from the data in cases. +% +% This is very basic now. It could be modified to use different engine +% types in the future. Now, I always use the 'jtree_inf_engine'. +% +% +% parameterLearning is called by runBN_initial.m, +% Predictmultiple.m, and Predictmultipleintervention.m + %engine is an optional argument if nargin < 3 @@ -15,3 +24,25 @@ end end +function [ bnet ] = getParams( bnet, cases ) +%getParams Code to initialize CPT and do parameter learning. +%This will be very basic for now. I can add more options later. +% + +dnodes = bnet.dnodes; +cnodes = bnet.cnodes; +nnodes = size(dnodes,2)+size(cnodes,2); + +%make dnodes tabular_CPT +for i = 1:size(dnodes,2) + bnet.CPD{dnodes(i)} = tabular_CPD(bnet,dnodes(i)); +end + +for i = 1:size(cnodes,2) + bnet.CPD{cnodes(i)} = gaussian_CPD(bnet,cnodes(i)); +end + +bnet = learn_params(bnet,cases); + + +end |
