Exemple #1
0
    def create(self, network_factory: bayesianpy.network.NetworkFactory):
        network = self._template.create(network_factory)

        cluster = builder.create_cluster_variable(network, self._latent_states)

        for node in bayesianpy.network.get_nodes(network):
            if node == cluster:
                continue
            builder.create_link(network, cluster, node)

        if self._target_nodes is not None:
            for target_node in self._target_nodes:
                target = builder.get_node(network, target_node)
                builder.delete_links_from(network, target)

                if self._remove_target_node:
                    bayesianpy.network.remove_node(network, self._target_nodes)

        return network
Exemple #2
0
    def create(self, network_factory: bayesianpy.network.NetworkFactory):
        network = self._template.create(network_factory)

        node = bayesianpy.network.get_node(network, self._target_node)

        if node is None:
            raise ValueError("Node {} does not exist in network".format(self._target_node))

        if self._delete_all_links:
            builder.delete_links_from(network, node)
            builder.delete_links_to(network, node)

        for link in self._parents:
            builder.create_link(network, link, node)

        for link in self._children:
            builder.create_link(network, node, link)

        return network