From 74b673ba4a706085201a5610b938ff98f08f641d Mon Sep 17 00:00:00 2001 From: ziejd2 Date: Wed, 25 Apr 2018 16:43:19 -0500 Subject: Bug fixes, code comments, and minor changes --- sourcecodes/parameter_learning/parameterLearning.m | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'sourcecodes/parameter_learning/parameterLearning.m') 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 -- cgit 1.4.1