public static void main(String[] args) { DynamicBayesianNetworkGenerator.setNumberOfContinuousVars(0); DynamicBayesianNetworkGenerator.setNumberOfDiscreteVars(5); DynamicBayesianNetworkGenerator.setNumberOfStates(2); DynamicBayesianNetworkGenerator.setNumberOfLinks(5); DynamicBayesianNetwork dynamicNaiveBayes = DynamicBayesianNetworkGenerator.generateDynamicNaiveBayes(new Random(0), 2, true); System.out.println("ORIGINAL DYNAMIC DAG:"); System.out.println(dynamicNaiveBayes.getDynamicDAG().toString()); //System.out.println(dynamicNaiveBayes.toString()); System.out.println(); //dynamicNaiveBayes.getDynamicVariables().getListOfDynamicVariables().forEach(var -> System.out.println(var.getName())); //dynamicNaiveBayes.getDynamicVariables().getListOfDynamicVariables().forEach(var -> System.out.println(var.getName())); BayesianNetwork bn = DynamicToStaticBNConverter.convertDBNtoBN(dynamicNaiveBayes,4); System.out.println("NEW STATIC DAG:"); System.out.println(); System.out.println(bn.getDAG().toString()); System.out.println(); System.out.println("ORIGINAL DYNAMIC BN:"); System.out.println(dynamicNaiveBayes.toString()); System.out.println("STATIC BN:"); System.out.println(bn.toString()); } }
public static void main(String[] agrs) throws IOException, ClassNotFoundException { DynamicBayesianNetworkGenerator.setNumberOfContinuousVars(2); DynamicBayesianNetworkGenerator.setNumberOfDiscreteVars(8); DynamicBayesianNetworkGenerator.setNumberOfStates(2); DynamicBayesianNetworkGenerator.setNumberOfLinks(5); DynamicBayesianNetwork dynamicBayesianNetwork; dynamicBayesianNetwork = DynamicBayesianNetworkGenerator.generateDynamicNaiveBayes(new Random(0), 2, true); System.out.println("DYNAMIC NAIVE BAYES"); System.out.println(dynamicBayesianNetwork.getDynamicDAG().toString()); dynamicBayesianNetwork = DynamicBayesianNetworkGenerator.generateDynamicFAN(new Random(0), 2, true); System.out.println("DYNAMIC FAN"); System.out.println(dynamicBayesianNetwork.getDynamicDAG().toString()); dynamicBayesianNetwork = DynamicBayesianNetworkGenerator.generateDynamicTAN(new Random(0), 2, true); System.out.println("DYNAMIC TAN"); System.out.println(dynamicBayesianNetwork.getDynamicDAG().toString()); dynamicBayesianNetwork = DynamicBayesianNetworkGenerator.generateDynamicBayesianNetwork(); System.out.println("DYNAMIC BN"); System.out.println(dynamicBayesianNetwork.getDynamicDAG().toString()); } }
DynamicBayesianNetworkGenerator.setNumberOfDiscreteVars(5); DynamicBayesianNetworkGenerator.setNumberOfStates(2); DynamicBayesianNetworkGenerator.setNumberOfLinks(5);
public static DataStream<DynamicDataInstance> generate(int seed, int nSquences, int nSamplesPerSequence, int nDiscreteAtts, int nContinuousAttributes){ DynamicBayesianNetworkGenerator.setSeed(seed); DynamicBayesianNetworkGenerator.setNumberOfContinuousVars(nContinuousAttributes); DynamicBayesianNetworkGenerator.setNumberOfDiscreteVars(nDiscreteAtts); DynamicBayesianNetworkGenerator.setNumberOfStates(2); int nTotal = nDiscreteAtts+nContinuousAttributes; int nLinksMin = nTotal-1; int nLinksMax = nTotal*(nTotal-1)/2; DynamicBayesianNetworkGenerator.setNumberOfLinks((int)(0.8*nLinksMin + 0.2*nLinksMax)); DynamicBayesianNetwork dbn = DynamicBayesianNetworkGenerator.generateDynamicBayesianNetwork(); DynamicBayesianNetworkSampler sampler = new DynamicBayesianNetworkSampler(dbn); sampler.setSeed(seed); return sampler.sampleToDataBase(nSquences,nSamplesPerSequence); }
public static DataStream<DynamicDataInstance> generate(int seed, int nSamples, int[] nDiscreteStates, int nContinuousAttributes){ DynamicBayesianNetworkGenerator.setSeed(seed); DynamicBayesianNetworkGenerator.setNumberOfContinuousVars(nContinuousAttributes); DynamicBayesianNetworkGenerator.setNumberOfDiscreteVars(nDiscreteStates.length); DynamicBayesianNetworkGenerator.setNumberOfStates(0); int nTotal = nDiscreteStates.length+nContinuousAttributes; int nLinksMin = nTotal-1; int nLinksMax = nTotal*(nTotal-1)/2; DynamicBayesianNetworkGenerator.setNumberOfLinks((int)(0.8*nLinksMin + 0.2*nLinksMax)); DynamicBayesianNetwork dbn = DynamicBayesianNetworkGenerator.generateDynamicBayesianNetwork(nDiscreteStates); DynamicBayesianNetworkSampler sampler = new DynamicBayesianNetworkSampler(dbn); sampler.setSeed(seed); return sampler.sampleToDataBase(nSamples/50,50); }
/** * Generate a DataStream 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 DataStream<DynamicDataInstance> generate(int seed, int nSamples, int nDiscreteAtts, int nContinuousAttributes){ DynamicBayesianNetworkGenerator.setSeed(seed); DynamicBayesianNetworkGenerator.setNumberOfContinuousVars(nContinuousAttributes); DynamicBayesianNetworkGenerator.setNumberOfDiscreteVars(nDiscreteAtts); DynamicBayesianNetworkGenerator.setNumberOfStates(2); int nTotal = nDiscreteAtts+nContinuousAttributes; int nLinksMin = nTotal-1; int nLinksMax = nTotal*(nTotal-1)/2; DynamicBayesianNetworkGenerator.setNumberOfLinks((int)(0.8*nLinksMin + 0.2*nLinksMax)); DynamicBayesianNetwork dbn = DynamicBayesianNetworkGenerator.generateDynamicBayesianNetwork(); DynamicBayesianNetworkSampler sampler = new DynamicBayesianNetworkSampler(dbn); sampler.setSeed(seed); return sampler.sampleToDataBase(nSamples/50,50); }
DynamicBayesianNetworkGenerator.setNumberOfDiscreteVars(10); DynamicBayesianNetworkGenerator.setNumberOfStates(2); DynamicBayesianNetworkGenerator.setNumberOfLinks(5); int nStatesClassVar=2;