@@ -300,7 +300,17 @@ def _set_params_recursion(self,node:_Node,original_tree_node:_Node):
300
300
a object form GenNode class
301
301
"""
302
302
if original_tree_node .leaf : # leaf node
303
- node .sub_model = copy .deepcopy (original_tree_node .sub_model )
303
+ try :
304
+ sub_params = original_tree_node .sub_model .get_params ()
305
+ node .sub_model .set_params (** sub_params )
306
+ except :
307
+ try :
308
+ sub_params = original_tree_node .sub_model .estimate_params (loss = '0-1' ,dict_out = True )
309
+ node .sub_model .set_params (** sub_params )
310
+ except :
311
+ sub_params = original_tree_node .sub_model .estimate_params (dict_out = True )
312
+ node .sub_model .set_params (** sub_params )
313
+
304
314
if node .depth == self .c_d_max :
305
315
node .h_g = 0
306
316
node .leaf = True
@@ -315,6 +325,7 @@ def _set_params_recursion(self,node:_Node,original_tree_node:_Node):
315
325
self .c_num_children ,
316
326
child_k_candidates ,
317
327
self .h_g ,
328
+ sub_model = self .SubModel .GenModel (** self .sub_h_params )
318
329
)
319
330
self ._set_params_recursion (node .children [i ],original_tree_node .children [i ])
320
331
@@ -1416,7 +1427,7 @@ def estimate_params(self,loss="0-1",visualize=True,filename=None,format=None):
1416
1427
tree_graph .attr ("node" ,shape = "box" ,fontname = "helvetica" ,style = "rounded,filled" )
1417
1428
self ._visualize_model_recursion (tree_graph , map_root , 0 , None , None , 1.0 )
1418
1429
tree_graph .view ()
1419
- return map_root
1430
+ return { 'root' : map_root }
1420
1431
else :
1421
1432
raise (CriteriaError ("Unsupported loss function! "
1422
1433
+ "This function supports only \" 0-1\" ." ))
@@ -1537,7 +1548,7 @@ def visualize_posterior(self,filename=None,format=None):
1537
1548
self ._visualize_model_recursion_none (tree_graph , 0 , list (range (self .c_k )), 0 , None , None , 1.0 )
1538
1549
else :
1539
1550
MAP_index = np .argmax (self .hn_metatree_prob_vec )
1540
- print (f'MAP probability of metatree:{ self .hn_metatree_prob_vec [MAP_index ]} ' )
1551
+ print (f'Approximate MAP probability of metatree:{ self .hn_metatree_prob_vec [MAP_index ]} ' )
1541
1552
self ._visualize_model_recursion (tree_graph , self .hn_metatree_list [MAP_index ], 0 , None , None , 1.0 )
1542
1553
# Can we show the image on the console without saving the file?
1543
1554
tree_graph .view ()
0 commit comments