@Override public Iterator<DataInstance> call(Integer ind, Iterator<Integer> iterator) throws Exception { localSampler.setSeed(seed+ind); return localSampler.sampleToDataStream(localNSamples).iterator(); } };
@Override public void flatMap(Long value, Collector<DataInstance> out) throws Exception { this.localSampler.setSeed(seed + value.intValue()); this.localSampler.sampleToDataStream(batchSize).stream().forEach(d -> out.collect(d)); } }
public static void main(String[] args) throws Exception { // load the true Bayesian network BayesianNetwork originalBnet = BayesianNetworkLoader.loadFromFile(args[0]); System.out.println("\n Network \n " + args[0]); System.out.println("\n Number of variables \n " + originalBnet.getDAG().getVariables().getNumberOfVars()); //Sampling from the input BN BayesianNetworkSampler sampler = new BayesianNetworkSampler(originalBnet); sampler.setSeed(0); // Defines the size of the data to be generated from the input BN int sizeData = Integer.parseInt(args[1]); System.out.println("\n Sampling and saving the data... \n "); DataStream<DataInstance> data = sampler.sampleToDataStream(sizeData); DataStreamWriter.writeDataToFile(data, "./data.arff"); }
public static void main(String[] agrs) throws IOException, ClassNotFoundException { //We first load the WasteIncinerator bayesian network which has multinomial and Gaussian variables. BayesianNetwork bn = BayesianNetworkLoader.loadFromFile("./networks/simulated/WasteIncinerator.bn"); //We simply create an BayesianNetworkSampler object, passing to the constructor the BN model. BayesianNetworkSampler sampler = new BayesianNetworkSampler(bn); sampler.setSeed(0); //The method sampleToDataStream returns a DataStream with ten DataInstance objects. DataStream<DataInstance> dataStream = sampler.sampleToDataStream(10); //We finally save the sampled data set to a arff file. DataStreamWriter.writeDataToFile(dataStream, "datasets/simulated/sample-WasteIncinerator.arff"); } }
private static void sampleBayesianNetwork() throws IOException { BayesianNetwork bn = new BayesianNetwork(dag); BayesianNetworkSampler sampler = new BayesianNetworkSampler(bn); sampler.setSeed(0); //The method sampleToDataStream returns a DataStream with ten DataInstance objects. DataStream<DataInstance> dataStream = sampler.sampleToDataStream(getSampleSize()); //We finally save the sampled data set to an arff file. DataStreamWriter.writeDataToFile(dataStream, "datasets/sampleBatchSize.arff"); }
private static void sampleBayesianNetwork() throws IOException { BayesianNetwork bn = new BayesianNetwork(dag); BayesianNetworkSampler sampler = new BayesianNetworkSampler(bn); sampler.setSeed(0); //The method sampleToDataStream returns a DataStream with ten DataInstance objects. DataStream<DataInstance> dataStream = sampler.sampleToDataStream(getSampleSize()); //We finally save the sampled data set to an arff file. DataStreamWriter.writeDataToFile(dataStream, getPathToFile()); }
sampler.setSeed(0);
sampler.setSeed(i); DataOnMemory<DataInstance> batch = sampler.sampleToDataStream(batchSize).toDataOnMemory();
public static void generateData(int seed, double tempMean, String outputFile) throws Exception { BayesianNetwork network = createFireDetectorModel(tempMean); BayesianNetworkSampler sampler = new BayesianNetworkSampler(network); sampler.setSeed(seed); sampler.setLatentVar(network.getVariables().getVariableByName("Temperature")); sampler.setLatentVar(network.getVariables().getVariableByName("Smoke")); DataStream<DataInstance> dataStream = sampler.sampleToDataStream(1000); DataStreamWriter.writeDataToFile(dataStream, outputFile); } public static void main(String[] args) throws Exception {
public static void generateData() throws Exception { BayesianNetwork network = createFireDetectorModel(); BayesianNetworkSampler sampler = new BayesianNetworkSampler(network); sampler.setSeed(0); sampler.setLatentVar(network.getVariables().getVariableByName("Temperature")); sampler.setLatentVar(network.getVariables().getVariableByName("Smoke")); DataStream<DataInstance> dataStream = sampler.sampleToDataStream(1000); DataStreamWriter.writeDataToFile(dataStream, "./datasets/sensorReadings.arff"); } public static void main(String[] args) throws Exception {
sampler.setSeed(0);
public static void main(String[] args) throws Exception { String[] bns = {"./networks/simulated/Normal.bn", "./networks/simulated/Normal_1NormalParents.bn", "./networks/simulated/Normal_NormalParents.bn"}; for (String bnname : bns) { BayesianNetwork bn = BayesianNetworkLoader.loadFromFile(bnname); BayesianNetworkSampler sampler = new BayesianNetworkSampler(bn); sampler.setSeed(2); DataStream<DataInstance> data = sampler.sampleToDataStream(10000); //Set-up Flink session. Configuration conf = new Configuration(); conf.setInteger("taskmanager.network.numberOfBuffers", 12000); final ExecutionEnvironment env = ExecutionEnvironment.createLocalEnvironment(conf); env.getConfig().disableSysoutLogging(); env.setParallelism(Main.PARALLELISM); baseTest(env, data, bn, 1000, 0.1); } } }