commit
39bf13cf5b
@ -0,0 +1,4 @@ |
||||
[submodule "PyCTBN"] |
||||
path = deps/PyCTBN |
||||
url = ../PyCTBN.git |
||||
branch = master |
@ -0,0 +1,43 @@ |
||||
#!/usr/bin/env python3 |
||||
|
||||
import glob |
||||
import os |
||||
|
||||
from pyctbn.legacy import JsonImporter |
||||
from pyctbn.legacy import SamplePath |
||||
from pyctbn.legacy import StructureConstraintBasedEstimator |
||||
|
||||
|
||||
def structure_constraint_based_estimation_example(): |
||||
# <read the json files in ./data path> |
||||
read_files = glob.glob(os.path.join('./', "*.json")) |
||||
# <initialize a JsonImporter object for the first file> |
||||
importer = JsonImporter(file_path=read_files[0], samples_label='samples', |
||||
structure_label='dyn.str', variables_label='variables', |
||||
time_key='Time', variables_key='Name') |
||||
# <import the data at index 0 of the outer json array> |
||||
importer.import_data(0) |
||||
# construct a SamplePath Object passing a filled AbstractImporter object |
||||
s1 = SamplePath(importer=importer) |
||||
# build the trajectories |
||||
s1.build_trajectories() |
||||
# build the information about the net |
||||
s1.build_structure() |
||||
# construct a StructureEstimator object passing a correctly build SamplePath object |
||||
# and the independence tests significance, if you have prior knowledge about |
||||
# the net structure create a list of tuples |
||||
# that contains them and pass it as known_edges parameter |
||||
se1 = StructureConstraintBasedEstimator(sample_path=s1, exp_test_alfa=0.1, chi_test_alfa=0.1, |
||||
known_edges=[], thumb_threshold=25) |
||||
# call the algorithm to estimate the structure |
||||
se1.estimate_structure() |
||||
# obtain the adjacency matrix of the estimated structure |
||||
print(se1.adjacency_matrix()) |
||||
# save the estimated structure to a json file |
||||
# (remember to specify the path AND the .json extension).... |
||||
se1.save_results('./results0.json') |
||||
# ...or save it also in a graphical model fashion |
||||
# (remember to specify the path AND the .png extension) |
||||
se1.save_plot_estimated_structure_graph('./result0.png') |
||||
|
||||
structure_constraint_based_estimation_example() |
@ -0,0 +1 @@ |
||||
Subproject commit 4ef741e7f77351d7c80c48d4dc617c3735e422eb |
Loading…
Reference in new issue