public static void main(String[] args) throws Exception{ Stopwatch watch = Stopwatch.createStarted(); DynamicBayesianNetworkGenerator dbnGenerator = new DynamicBayesianNetworkGenerator(); dbnGenerator.setNumberOfContinuousVars(0); dbnGenerator.setNumberOfDiscreteVars(3); dbnGenerator.setNumberOfStates(2); DynamicBayesianNetwork network = DynamicBayesianNetworkGenerator.generateDynamicNaiveBayes(new Random(0), 2, true); DynamicBayesianNetworkSampler sampler = new DynamicBayesianNetworkSampler(network); sampler.setSeed(0); DataStream<DynamicDataInstance> dataStream = sampler.sampleToDataBase(3,2); DataStreamWriter.writeDataToFile(dataStream, "./datasets/simulated/dnb-samples.arff"); System.out.println(watch.stop()); for (DynamicAssignment dynamicdataassignment : sampler.sampleToDataBase(3, 2)){ System.out.println("\n Sequence ID" + dynamicdataassignment.getSequenceID()); System.out.println("\n Time ID" + dynamicdataassignment.getTimeID()); System.out.println(dynamicdataassignment.outputString()); } } }
public static void main(String[] args) throws Exception{ //We first generate a DBN with 3 continuous and 3 discrete variables with 2 states DynamicBayesianNetworkGenerator dbnGenerator = new DynamicBayesianNetworkGenerator(); dbnGenerator.setNumberOfContinuousVars(3); dbnGenerator.setNumberOfDiscreteVars(3); dbnGenerator.setNumberOfStates(2); //Create a NB-like structure with temporal links in the children (leaves) and 2 states for //the class variable DynamicBayesianNetwork network = DynamicBayesianNetworkGenerator.generateDynamicNaiveBayes( new Random(0), 2, true); //Create the sampler from this network DynamicBayesianNetworkSampler sampler = new DynamicBayesianNetworkSampler(network); sampler.setSeed(0); //Sample a dataStream of 3 sequences of 1000 samples each DataStream<DynamicDataInstance> dataStream = sampler.sampleToDataBase(3,1000); //Save the created data sample in a file DataStreamWriter.writeDataToFile(dataStream, "./datasets/simulated/dnb-samples.arff"); } }