📄 generate.java
字号:
package be.ac.ulg.montefiore.run.jahmm.test;import be.ac.ulg.montefiore.run.jahmm.*;import be.ac.ulg.montefiore.run.jahmm.draw.*;import be.ac.ulg.montefiore.run.jahmm.learn.*;import be.ac.ulg.montefiore.run.jahmm.toolbox.*;import java.util.*;public class Generate { static public void main(String[] argv) throws java.io.IOException { /* Build two simple sequences */ Vector oseq1 = new Vector(); for (int i = 0; i < 3; i++) oseq1.add(new ObservationInteger(i)); Vector oseq2 = new Vector(); for (int i = 2; i < 5; i++) oseq2.add(new ObservationInteger(i)); Vector obsSeqs = new Vector(); obsSeqs.add(oseq1); obsSeqs.add(oseq2); /* Build a model according to those sequences using the k-means algorithm */ KMeansLearner kml = new KMeansLearner(5, new OpdfIntegerFactory(10), obsSeqs); Hmm hmmModel = kml.learn(); HmmDrawer hmmDrawer = new HmmIntegerDrawer(); hmmDrawer.write(hmmModel, "graph-generate-model.dot"); /* Generate sequences according to this model */ MarkovGenerator mg = new MarkovGenerator(hmmModel); Vector sequences = new Vector(); for (int i = 0; i < 100; i++) sequences.add(mg.observationSequence(5)); /* Build a model according to those sequences using the Baum-Welch algorithm */ Hmm initHmm = new Hmm(5, new OpdfIntegerFactory(10)); for (int i = 1; i < 5; i++) initHmm.getOpdf(i).fit(new Observation[] { new ObservationInteger(i)}); initHmm.getOpdf(0).fit(new Observation[] { new ObservationInteger(0), new ObservationInteger(1)}); BaumWelchLearner bwl = new BaumWelchLearner(5, new OpdfIntegerFactory(10), sequences); Hmm hmmLearnt = bwl.learn(initHmm); hmmDrawer.write(hmmLearnt, "graph-generate-learnt.dot"); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -