parent
81586db362
commit
51303bd8a1
@ -1,58 +0,0 @@ |
||||
|
||||
import glob |
||||
import math |
||||
import os |
||||
import unittest |
||||
|
||||
import networkx as nx |
||||
import numpy as np |
||||
import psutil |
||||
|
||||
from ...PyCTBN.utility.cache import Cache |
||||
from ...PyCTBN.structure_graph.sample_path import SamplePath |
||||
from ...PyCTBN.estimators.structure_constraint_based_estimator import StructureConstraintBasedEstimator |
||||
from ...PyCTBN.utility.json_importer import JsonImporter |
||||
|
||||
from multiprocessing import set_start_method |
||||
|
||||
import copy |
||||
|
||||
|
||||
class TestStructureConstraintBasedEstimator(unittest.TestCase): |
||||
@classmethod |
||||
def setUpClass(cls): |
||||
pass |
||||
|
||||
def test_structure(self): |
||||
#cls.read_files = glob.glob(os.path.join('../../data', "*.json")) |
||||
self.importer = JsonImporter("./PyCTBN/test_data/networks_and_trajectories_binary_data_01_3.json", 'samples', 'dyn.str', 'variables', 'Time', 'Name') |
||||
self.s1 = SamplePath(self.importer) |
||||
self.s1.build_trajectories() |
||||
self.s1.build_structure() |
||||
|
||||
true_edges = copy.deepcopy(self.s1.structure.edges) |
||||
true_edges = set(map(tuple, true_edges)) |
||||
|
||||
|
||||
se1 = StructureConstraintBasedEstimator(self.s1,0.1,0.1) |
||||
edges = se1.estimate_structure(disable_multiprocessing=False) |
||||
|
||||
|
||||
self.importer = JsonImporter("./PyCTBN/test_data/networks_and_trajectories_binary_data_01_3.json", 'samples', 'dyn.str', 'variables', 'Time', 'Name') |
||||
self.s1 = SamplePath(self.importer) |
||||
self.s1.build_trajectories() |
||||
self.s1.build_structure() |
||||
|
||||
true_edges = copy.deepcopy(self.s1.structure.edges) |
||||
true_edges = set(map(tuple, true_edges)) |
||||
|
||||
|
||||
se1 = StructureConstraintBasedEstimator(self.s1,0.1,0.1) |
||||
edges = se1.estimate_structure(disable_multiprocessing=True) |
||||
|
||||
|
||||
|
||||
self.assertEqual(edges, true_edges) |
||||
|
||||
if __name__ == '__main__': |
||||
unittest.main() |
@ -1,79 +0,0 @@ |
||||
|
||||
import glob |
||||
import math |
||||
import os |
||||
import unittest |
||||
|
||||
import networkx as nx |
||||
import numpy as np |
||||
import psutil |
||||
|
||||
import copy |
||||
|
||||
from ...PyCTBN.utility.cache import Cache |
||||
from ...PyCTBN.structure_graph.sample_path import SamplePath |
||||
from ...PyCTBN.estimators.structure_score_based_estimator import StructureScoreBasedEstimator |
||||
from ...PyCTBN.utility.json_importer import JsonImporter |
||||
|
||||
|
||||
|
||||
class TestStructureScoreBasedEstimator(unittest.TestCase): |
||||
|
||||
@classmethod |
||||
def setUpClass(cls): |
||||
pass |
||||
|
||||
|
||||
|
||||
def test_structure(self): |
||||
#cls.read_files = glob.glob(os.path.join('../../data', "*.json")) |
||||
self.importer = JsonImporter("./PyCTBN/test_data/networks_and_trajectories_binary_data_01_3.json", 'samples', 'dyn.str', 'variables', 'Time', 'Name') |
||||
self.s1 = SamplePath(self.importer) |
||||
self.s1.build_trajectories() |
||||
self.s1.build_structure() |
||||
|
||||
true_edges = copy.deepcopy(self.s1.structure.edges) |
||||
true_edges = set(map(tuple, true_edges)) |
||||
|
||||
|
||||
se1 = StructureScoreBasedEstimator(self.s1) |
||||
edges = se1.estimate_structure( |
||||
max_parents = None, |
||||
iterations_number = 100, |
||||
patience = 35, |
||||
tabu_length = 15, |
||||
tabu_rules_duration = 15, |
||||
optimizer = 'tabu', |
||||
disable_multiprocessing=False |
||||
) |
||||
|
||||
|
||||
self.importer = JsonImporter("./PyCTBN/test_data/networks_and_trajectories_binary_data_01_3.json", 'samples', 'dyn.str', 'variables', 'Time', 'Name') |
||||
self.s1 = SamplePath(self.importer) |
||||
self.s1.build_trajectories() |
||||
self.s1.build_structure() |
||||
|
||||
true_edges = copy.deepcopy(self.s1.structure.edges) |
||||
true_edges = set(map(tuple, true_edges)) |
||||
|
||||
|
||||
se1 = StructureScoreBasedEstimator(self.s1) |
||||
edges = se1.estimate_structure( |
||||
max_parents = None, |
||||
iterations_number = 100, |
||||
patience = 35, |
||||
tabu_length = 15, |
||||
tabu_rules_duration = 15, |
||||
optimizer = 'tabu', |
||||
disable_multiprocessing=True |
||||
) |
||||
|
||||
|
||||
|
||||
self.assertEqual(edges, true_edges) |
||||
|
||||
|
||||
|
||||
if __name__ == '__main__': |
||||
unittest.main() |
||||
|
Reference in new issue