BayesianNetworkGenerator.loadOptions(); BayesianNetworkGenerator.setNumberOfGaussianVars(0); BayesianNetworkGenerator.setNumberOfMultinomialVars(100, 10); BayesianNetworkGenerator.setSeed(0); BayesianNetwork bn = BayesianNetworkGenerator.generateNaiveBayes(2);
/** * Generate a DataSpark with the given number of samples and attributes (discrete and continuous). * @param jsc, JavaSparkContext * @param seed, the seed of the random number generator. * @param nSamples, the number of samples of the data stream. * @param nDiscreteAtts, the number of discrete attributes. * @param nContinuousAttributes, the number of continuous attributes. * @return A valid {@code DataSpark} object. */ public static DataSpark generate(JavaSparkContext jsc, int seed, int nSamples, int nDiscreteAtts, int nContinuousAttributes){ BayesianNetworkGenerator.setSeed(seed); BayesianNetworkGenerator.setNumberOfGaussianVars(nContinuousAttributes); BayesianNetworkGenerator.setNumberOfMultinomialVars(nDiscreteAtts,2); int nTotal = nDiscreteAtts+nContinuousAttributes; int nLinksMin = nTotal-1; int nLinksMax = nTotal*(nTotal-1)/2; BayesianNetworkGenerator.setNumberOfLinks((int)(0.8*nLinksMin + 0.2*nLinksMax)); BayesianNetwork bn = BayesianNetworkGenerator.generateBayesianNetwork(); // Sample from the BN int parallelism = 4; BayesianNetworkSampler sampler = new BayesianNetworkSampler(bn); return sampler.sampleToDataSpark(jsc, nSamples, parallelism); }
public static void runParallelKMeans() throws IOException { DataStream<DataInstance> data; if(isSampleData()) { BayesianNetworkGenerator.setNumberOfGaussianVars(getNumGaussVars()); BayesianNetworkGenerator.setNumberOfMultinomialVars(getNumDiscVars(), getNumStates()); BayesianNetwork bn = BayesianNetworkGenerator.generateBayesianNetwork(); data = new BayesianNetworkSampler(bn).sampleToDataStream(getSampleSize()); DataStreamWriter.writeDataToFile(data, pathToFile); } data = DataStreamLoader.open(pathToFile); ParallelKMeans.setBatchSize(batchSize); double[][] centroids = ParallelKMeans.learnKMeans(getK(),data); for (int clusterID = 0; clusterID < centroids.length; clusterID++) { System.out.println("Cluster "+(clusterID+1)+": "+Arrays.toString(centroids[clusterID])); } }
public static void main(String args[]) throws ExceptionHugin { BayesianNetworkGenerator.setNumberOfMultinomialVars(2, 2); BayesianNetworkGenerator.setNumberOfGaussianVars(2); BayesianNetwork bn = BayesianNetworkGenerator.generateNaiveBayes(2);
BayesianNetworkGenerator.setNumberOfGaussianVars(nVars); BayesianNetworkGenerator.setNumberOfMultinomialVars(nVars, 2); BayesianNetwork bn = BayesianNetworkGenerator.generateBayesianNetwork(); DataStream<DataInstance> data = new BayesianNetworkSampler(bn).sampleToDataStream(nbrSamples);
public static void main(String[] args) throws IOException { BayesianNetworkGenerator.setNumberOfGaussianVars(0); BayesianNetworkGenerator.setNumberOfMultinomialVars(5, 3); BayesianNetworkGenerator.setSeed(0); BayesianNetwork bn = BayesianNetworkGenerator.generateNaiveBayes(2); int sampleSize = 1000000; BayesianNetworkSampler sampler = new BayesianNetworkSampler(bn); String file = "./datasets/simulated/randomdata.arff"; DataStream<DataInstance> dataStream = sampler.sampleToDataStream(sampleSize); DataStreamWriter.writeDataToFile(dataStream, file); DataStream<DynamicDataInstance> data = DynamicDataStreamLoader.loadFromFile(file); DynamicNaiveBayesClassifier model = new DynamicNaiveBayesClassifier(); model.setClassVarID(data.getAttributes().getNumberOfAttributes() - 1); model.setParallelMode(true); model.learn(data); DynamicBayesianNetwork nbClassifier = model.getDynamicBNModel(); System.out.println(nbClassifier.toString()); } }
/** * Generate a DataFlink with the given number of samples and attributes (discrete and continuous). * @param seed, the seed of the random number generator. * @param nSamples, the number of samples of the data stream. * @param nDiscreteAtts, the number of discrete attributes. * @param nContinuousAttributes, the number of continuous attributes. * @return A valid {@code DataStream} object. */ public static DataFlink<DataInstance> generate(ExecutionEnvironment env, int seed, int nSamples, int nDiscreteAtts, int nContinuousAttributes){ BayesianNetworkGenerator.setSeed(seed); BayesianNetworkGenerator.setNumberOfGaussianVars(nContinuousAttributes); BayesianNetworkGenerator.setNumberOfMultinomialVars(nDiscreteAtts,2); int nTotal = nDiscreteAtts+nContinuousAttributes; int nLinksMin = nTotal-1; int nLinksMax = nTotal*(nTotal-1)/2; BayesianNetworkGenerator.setNumberOfLinks((int)(0.8*nLinksMin + 0.2*nLinksMax)); BayesianNetworkSampler sampler = new BayesianNetworkSampler(BayesianNetworkGenerator.generateBayesianNetwork()); sampler.setSeed(seed); return sampler.sampleToDataFlink(env,nSamples); }
public static void main(String[] args) throws IOException { BayesianNetworkGenerator.setNumberOfGaussianVars(0); BayesianNetworkGenerator.setNumberOfMultinomialVars(5, 2); BayesianNetworkGenerator.setSeed(0); BayesianNetwork bn = BayesianNetworkGenerator.generateNaiveBayes(2); int sampleSize = 1000; BayesianNetworkSampler sampler = new BayesianNetworkSampler(bn); String file = "./datasets/simulated/randomdata.arff"; DataStream<DataInstance> dataStream = sampler.sampleToDataStream(sampleSize); DataStreamWriter.writeDataToFile(dataStream, file); DataStream<DynamicDataInstance> data = DynamicDataStreamLoader.loadFromFile(file); for (int i = 1; i <= 1; i++) { DynamicNaiveBayesClassifier model = new DynamicNaiveBayesClassifier(); model.setClassVarID(data.getAttributes().getNumberOfAttributes() - 1); model.setParallelMode(true); model.learn(data); DynamicBayesianNetwork nbClassifier = model.getDynamicBNModel(); System.out.println(nbClassifier.toString()); } } }
public static void main (String[] args){ BayesianNetworkGenerator.setNumberOfGaussianVars(1); BayesianNetworkGenerator.setNumberOfMultinomialVars(1,2); BayesianNetworkGenerator.setNumberOfLinks(1); BayesianNetwork bn = BayesianNetworkGenerator.generateBayesianNetwork();
BayesianNetworkGenerator.loadOptions(); BayesianNetworkGenerator.setNumberOfGaussianVars(0); BayesianNetworkGenerator.setNumberOfMultinomialVars(2000, 10); BayesianNetworkGenerator.setSeed(0); BayesianNetwork bn = BayesianNetworkGenerator.generateNaiveBayes(2);
BayesianNetworkGenerator.setSeed(seed); BayesianNetworkGenerator.setNumberOfGaussianVars(nCVars); BayesianNetworkGenerator.setNumberOfMultinomialVars(nMVars, 2); BayesianNetwork originalBnet = BayesianNetworkGenerator.generateBayesianNetwork();
public static void main(String[] args) throws WrongConfigurationException{ BayesianNetworkGenerator.loadOptions(); BayesianNetworkGenerator.setSeed(0); BayesianNetworkGenerator.setNumberOfGaussianVars(10); BayesianNetworkGenerator.setNumberOfMultinomialVars(10, 5); BayesianNetwork bn = BayesianNetworkGenerator.generateNaiveBayes(2); System.out.println(bn.toString());
BayesianNetworkGenerator.setNumberOfGaussianVars(numContVars); BayesianNetworkGenerator.setNumberOfMultinomialVars(numDiscVars, 2); BayesianNetworkGenerator.setSeed(0); BayesianNetwork bn = BayesianNetworkGenerator.generateNaiveBayes(2); BayesianNetworkSampler sampler = new BayesianNetworkSampler(bn); DataStream<DataInstance> dataStream = sampler.sampleToDataStream(sampleSize);
BayesianNetworkGenerator.setNumberOfGaussianVars(numContVars); BayesianNetworkGenerator.setNumberOfMultinomialVars(numDiscVars, 2); BayesianNetworkGenerator.setSeed(0); BayesianNetwork bn = BayesianNetworkGenerator.generateNaiveBayes(2);
BayesianNetworkGenerator.setNumberOfGaussianVars(numContVars); BayesianNetworkGenerator.setNumberOfMultinomialVars(numDiscVars, numStates); BayesianNetworkGenerator.setSeed(0); BayesianNetwork bn = BayesianNetworkGenerator.generateNaiveBayes(2);