about summary refs log tree commit diff
path: root/sourcecodes/parameter_learning/Predictmultiple.m
diff options
context:
space:
mode:
Diffstat (limited to 'sourcecodes/parameter_learning/Predictmultiple.m')
-rw-r--r--sourcecodes/parameter_learning/Predictmultiple.m87
1 files changed, 51 insertions, 36 deletions
diff --git a/sourcecodes/parameter_learning/Predictmultiple.m b/sourcecodes/parameter_learning/Predictmultiple.m
index 692c6b24..f03568ef 100644
--- a/sourcecodes/parameter_learning/Predictmultiple.m
+++ b/sourcecodes/parameter_learning/Predictmultiple.m
@@ -1,57 +1,72 @@
 function Predictmultiple(pre)
-
 dfile=strcat(pre,'structure_input.txt');
 sfile=dfile;
 dfile=strcat(pre,'continuous_input.txt');
 nnodefile=strcat(pre,'nnode.txt');
+
 fnnode = fopen(nnodefile,'r');
 nnodes = fscanf(fnnode,'%d');
 
-
-
-%nnodes=5;
 Std_flag=true;
 [labels,cases,bnet]=readInput(dfile,sfile,nnodes,Std_flag);
 
-
-%name
-%labels
-%map
-
 [bnet]=parameterLearning(bnet,cases);
-%[predict_mean,predict_sd,q_sq]=looCrossValid(bnet,cases);
-fvarfile=strcat(pre,'var.txt');
 
-fvar = fopen(fvarfile,'r');
-                            
+fvarfile=strcat(pre,'var.txt');
+fvar = fopen(fvarfile,'r');                         
 select_var_new = fscanf(fvar,'%d');
 
 fvardfile=strcat(pre,'vardata.txt');
-
 fvard = fopen(fvardfile,'r');
-
 select_var_data_new = fscanf(fvard,'%f');
 
+means_orig = cell(1,nnodes);
+stdevs_orig = cell(1,nnodes);
+labels_orig = cell(1,nnodes);
+%Read in original means and standard deviations
+mapfile = strcat(pre,'map.txt');
+fmap = fopen(mapfile,'r');
+for i=1:nnodes
+    buffer = fgetl(mapfile);
+    temp = cell(1,4);
+    for j=1:4
+        [next,buffer] = strtok(buffer);
+        temp{j} = next;
+    end
+    labels_orig{i} = temp{1};
+    means_orig{i} = str2num(temp{4});
+    stdevs_orig{i} = str2num(temp{3});
+end
+fclose(fmap);
+
+%Need to map the means and stdevs to the correct labels
+means = cell(1,nnodes);
+stdevs = cell(1,nnodes);
+%Read in labels in new order.
+labelsnew = cell(1,nnodes);
+mapdatafile = strcat(pre,'mapdata.txt');
+fmapdata = fopen(mapdatafile,'r');
+buffer = fgetl(fmapdata);
+for i = 1:nnodes
+    [next,buffer ] = strtok(buffer);
+    labelsnew{i} = next;
+end
+fclose(fmapdata);
+for i = 1:nnodes
+    for j = 1:nnodes
+       if strcmp(labelsnew{i},labels_orig{j})
+          means{i} = means_orig{j};
+          stdevs{i} = stdevs_orig{j};
+          break
+       end
+    end
+end
+
+
 filename=strcat(pre,'net_figure_new.txt');
 
-drawFigureM(nnodes,bnet,labels,filename,cases,select_var_new,select_var_data_new);
-
-%quit force;
-%marginal_nodes(engine,2)
-%marginal_nodes(engine,3)
-%marginal_nodes(engine,4)
-%marginal_nodes(engine,5)
-%evidence{1}=2;
-%[engine,loglik]=enter_evidence(engine,evidence)
-%marginal_nodes(engine,1)
-%marginal_nodes(engine,2)
-%marginal_nodes(engine,3)
-%marginal_nodes(engine,4)
-%marginal_nodes(engine,5)
-%evidence{2}=0.6;
-%evidence{1}=[];
-%[engine,loglik]=enter_evidence(engine,evidence);
-%marginal_nodes(engine,3);
-%marginal_nodes(engine,4);
-%marginal_nodes(engine,5);
-end
\ No newline at end of file
+drawFigureM(nnodes,bnet,labels,filename,cases,stdevs,means,select_var_new,select_var_data_new);
+
+writeParameters_ev(pre,bnet,nnodes,labels,cases,stdevs,means,select_var_new,select_var_data_new);
+
+end