First working version

master
Meliurwen 2 years ago
commit 39bf13cf5b
Signed by: meliurwen
GPG Key ID: 818A8B35E9F1CE10
  1. 4
      .gitmodules
  2. 43
      benchmark.py
  3. 1
      deps/PyCTBN

4
.gitmodules vendored

@ -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()

1
deps/PyCTBN vendored

@ -0,0 +1 @@
Subproject commit 4ef741e7f77351d7c80c48d4dc617c3735e422eb
Loading…
Cancel
Save