Ejemplo n.º 1
0
def test_csv_serde():
    """
    Tests CSV serde.
    :return: None.
    """
    try:
        lhs = BbnUtil.get_huang_graph()
        Bbn.to_csv(lhs, 'huang.csv')

        rhs = Bbn.from_csv('huang.csv')

        assert len(lhs.get_nodes()) == len(rhs.get_nodes())
        assert len(lhs.get_edges()) == len(rhs.get_edges())

        lhs_nodes = set([str(node) for node in lhs.get_nodes()])
        rhs_nodes = set([str(node) for node in rhs.get_nodes()])
        for n in lhs_nodes:
            assert n in rhs_nodes

        lhs_edges = set([str(edge) for edge in lhs.get_edges()])
        rhs_edges = set([str(edge) for edge in rhs.get_edges()])
        for e in lhs_edges:
            assert e in rhs_edges
    except:
        assert False
    finally:
        import os

        try:
            os.remove('huang.csv')
        except:
            pass
Ejemplo n.º 2
0
from pybbn.graph.dag import Bbn
from pybbn.graph.edge import Edge, EdgeType
from pybbn.graph.node import BbnNode
from pybbn.graph.variable import Variable

# create graph
a = BbnNode(Variable(0, 'a', ['t', 'f']), [0.2, 0.8])
b = BbnNode(Variable(1, 'b', ['t', 'f']), [0.1, 0.9, 0.9, 0.1])
bbn = Bbn().add_node(a).add_node(b) \
    .add_edge(Edge(a, b, EdgeType.DIRECTED))

# serialize
Bbn.to_csv(bbn, 'simple-bbn.csv')
Ejemplo n.º 3
0
import numpy as np

from pybbn.generator.bbngenerator import generate_bbn_to_file
from pybbn.graph.dag import BbnUtil, Bbn

np.random.seed(37)

generate_bbn_to_file(900, 'singly-bbn.csv', 'singly', 10)
generate_bbn_to_file(900, 'multi-bbn.csv', 'multi', 10)

bbn = BbnUtil.get_huang_graph()
Bbn.to_csv(bbn, 'huang.csv')