about summary refs log tree commit diff
path: root/sourcecodes/parameter_learning/parameterLearning.m
diff options
context:
space:
mode:
authorziejd22018-04-25 16:43:19 -0500
committerziejd22018-04-25 16:43:19 -0500
commit74b673ba4a706085201a5610b938ff98f08f641d (patch)
treecb39006ea1a39499e00dbbb0e0097087a4567031 /sourcecodes/parameter_learning/parameterLearning.m
parenta781cb1ff2e7ae6de0f686bd02cd279261485b1e (diff)
downloadBNW-74b673ba4a706085201a5610b938ff98f08f641d.tar.gz
Bug fixes, code comments, and minor changes
Diffstat (limited to 'sourcecodes/parameter_learning/parameterLearning.m')
-rw-r--r--sourcecodes/parameter_learning/parameterLearning.m31
1 files changed, 31 insertions, 0 deletions
diff --git a/sourcecodes/parameter_learning/parameterLearning.m b/sourcecodes/parameter_learning/parameterLearning.m
index 872e94b1..3ef6c0b3 100644
--- a/sourcecodes/parameter_learning/parameterLearning.m
+++ b/sourcecodes/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