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); }