VMP vmp = svb.getPlateuStructure().getVMP(); vmp.setOutput(false); vmp.setTestELBO(true); vmp.setMaxIter(1000); vmp.setThreshold(0.0001);
public static void main(String[] args) { DataStream<DataInstance> dataInstances = DataStreamLoader.open("/Users/andresmasegosa/Dropbox/Amidst/datasets/NFSAbstracts/abstractByYear/abstract_90.arff"); //DataOnMemory<DataInstance> dataInstances = DataStreamLoader.loadDataOnMemoryFromFile("/Users/andresmasegosa/Dropbox/Amidst/datasets/NFSAbstracts/abstractByYear/abstract_90.arff"); SVB svb = new SVB(); PlateauLDA plateauLDA = new PlateauLDA(dataInstances.getAttributes(),"word","count"); plateauLDA.setNTopics(10); plateauLDA.getVMP().setTestELBO(true); plateauLDA.getVMP().setMaxIter(10); plateauLDA.getVMP().setOutput(true); plateauLDA.getVMP().setThreshold(0.1); svb.setPlateuStructure(plateauLDA); svb.setOutput(true); svb.initLearning(); //System.out.println(dataInstances.getNumberOfDataInstances()); //svb.updateModel(dataInstances); BatchSpliteratorByID.streamOverDocuments(dataInstances, 500).sequential().forEach(batch -> { System.out.println("Batch: "+ batch.getNumberOfDataInstances()); svb.updateModel(batch); }); }
vmp.setMaxIter(this.svb.getPlateuStructure().getVMP().getMaxIter()); vmp.setThreshold(this.svb.getPlateuStructure().getVMP().getThreshold()); vmp.setTestELBO(this.svb.getPlateuStructure().getVMP().isOutput()); this.svb.getPlateuStructure().setVmp(vmp);
@Override protected void initLearning() { if(learningAlgorithm==null) { SVB svb = new SVB(); plateauLDA = new PlateauLDA(this.atts, "word", "count"); plateauLDA.setNTopics(ntopics); svb.setPlateuStructure(plateauLDA); svb.getPlateuStructure().getVMP().setTestELBO(false); svb.getPlateuStructure().getVMP().setMaxIter(100); svb.getPlateuStructure().getVMP().setThreshold(0.01); learningAlgorithm = svb; } learningAlgorithm.setWindowsSize(100); learningAlgorithm.setOutput(true); learningAlgorithm.initLearning(); initialized=true; }
protected void initLearning() { if(learningAlgorithm==null) { SVB svb = new SVB(); svb.setWindowsSize(100); svb.getPlateuStructure().getVMP().setTestELBO(false); svb.getPlateuStructure().getVMP().setMaxIter(100); svb.getPlateuStructure().getVMP().setThreshold(0.00001); learningAlgorithm = svb; } learningAlgorithm.setWindowsSize(windowSize); if (this.getDAG()!=null) learningAlgorithm.setDAG(this.getDAG()); else if (this.getPlateuStructure()!=null) ((BayesianParameterLearningAlgorithm)learningAlgorithm).setPlateuStructure(this.getPlateuStructure()); else throw new IllegalArgumentException("Non provided dag or PlateauStructure"); learningAlgorithm.setOutput(true); learningAlgorithm.initLearning(); initialized=true; }
vmp.setTestELBO(true); vmp.setMaxIter(1000); vmp.setThreshold(0.0001);
vmp.setMaxIter(this.svb.getPlateuStructure().getVMP().getMaxIter()); vmp.setThreshold(this.svb.getPlateuStructure().getVMP().getThreshold()); vmp.setTestELBO(this.svb.getPlateuStructure().getVMP().isOutput()); this.svb.getPlateuStructure().setVmp(vmp);