/** * Generates a Dynamic Naive Bayes model with randomly initialized distributions. * @param random an object of type {@link java.util.Random}. * @param numberClassStates the number of states for the class variable. * @param connectChildrenTemporally a {@code boolean} that indicates whether the children are connected temporally or not. * @return a {@link DynamicBayesianNetwork} object. */ public static DynamicBayesianNetwork generateDynamicNaiveBayes(Random random, int numberClassStates, boolean connectChildrenTemporally){ DynamicBayesianNetwork network = new DynamicBayesianNetwork( DynamicBayesianNetworkGenerator.generateDynamicNaiveBayesDAG(numberClassStates, connectChildrenTemporally)); network.randomInitialization(random); return network; }
DynamicDAG dynamicDAG = DynamicBayesianNetworkGenerator.generateDynamicNaiveBayesDAG(2,true); DynamicBayesianNetwork dbn = new DynamicBayesianNetwork(dynamicDAG); dbn.randomInitialization(new Random(seed));
dynamicFAN.randomInitialization(random); return dynamicFAN;
dynamicTAN.randomInitialization(random); return dynamicTAN;
network.randomInitialization(new Random(seed));
public static DynamicBayesianNetwork createDBN1(int numVars) throws Exception { DynamicVariables dynamicVariables = new DynamicVariables(); Variable classVar = dynamicVariables.newMultinomialDynamicVariable("C", 2); for (int i = 0; i < numVars; i++) { dynamicVariables.newGaussianDynamicVariable("A" + i); } DynamicDAG dag = new DynamicDAG(dynamicVariables); for (int i = 0; i < numVars; i++) { dag.getParentSetTimeT(dynamicVariables.getVariableByName("A" + i)).addParent(classVar); if (connectDBN) dag.getParentSetTimeT(dynamicVariables.getVariableByName("A" + i)).addParent(dynamicVariables.getVariableByName("A" + i).getInterfaceVariable()); } //dag.getParentSetTimeT(classVar).addParent(classVar.getInterfaceVariable()); dag.setName("dbn1"); DynamicBayesianNetwork dbn = new DynamicBayesianNetwork(dag); dbn.randomInitialization(new Random(1)); return dbn; }
dbn.randomInitialization(random);
network.randomInitialization(new Random(seed));
DynamicBayesianNetwork bn = model.getDynamicBNModel(); bn.randomInitialization(new Random(0)); System.out.println(bn.toString());