def create(self, network_factory: bayesianpy.network.NetworkFactory): network = self._template.create(network_factory) for node in network.getNodes(): if bayesianpy.network.is_variable_continuous(node.getVariables().get(0)): n = builder.create_discretised_variable( network, self._template.get_network_factory().get_data(), node.getName() + "_0Node", bins=[(jp.java.lang.Double.NEGATIVE_INFINITY, 0.5, "closed", "open"), (0.5, jp.java.lang.Double.POSITIVE_INFINITY, "closed", "closed")]) builder.create_link(network, n, node) return network
def create(self, network_factory: bayesianpy.network.NetworkFactory): network = network_factory.create() cluster = builder.create_cluster_variable(network, self._latent_states) if not dk.empty(self._continuous): for c_name in self._continuous.columns: c = builder.create_discretised_variable(network, self._continuous, c_name, bin_count=self._bin_count, mode=self._binning_mode, zero_crossing=self._zero_crossing) builder.create_link(network, cluster, c) if not dk.empty(self._discrete): for d_name in self._discrete.columns: states = dk.compute(self._discrete[d_name].dropna().unique()) c = builder.create_discrete_variable(network, self._discrete, d_name, states) builder.create_link(network, cluster, c) return network