public TokenClassifiers(ClassifierTrainer trainer, InstanceList trainList, int randSeed, int numCV) { super(trainList.getPipe()); m_trainer = trainer; m_randSeed = randSeed; m_numCV = numCV; m_table = new HashMap(); doTraining(trainList); }
public TokenClassifiers(ClassifierTrainer trainer, InstanceList trainList, int randSeed, int numCV) { super(trainList.getPipe()); m_trainer = trainer; m_randSeed = randSeed; m_numCV = numCV; m_table = new HashMap(); doTraining(trainList); }
public SyllChainModel train(List<Alignment> aligns) { log.info("About to train the syll chain..."); InstanceList examples = makeExamplesFromAligns(aligns); Pipe pipe = examples.getPipe(); log.info("Training test-time syll chain tagger on whole data..."); TransducerTrainer trainer = trainOnce(pipe, examples); return new SyllChainModel((CRF) trainer.getTransducer()); }
public InstanceList getInstances() { InstanceList ret = new InstanceList(m_ilist.getPipe()); for (int ii = 0; ii < m_instIndices.length; ii++) ret.add(m_ilist.get(m_instIndices[ii])); return ret; }
public MaxEnt trainClassifier (InstanceList ilist, String correct, String incorrect) { this.meClassifier = (MaxEnt) meTrainer.train (ilist); this.pipe = ilist.getPipe (); this.correct = correct; this.incorrect = incorrect; InfoGain ig = new InfoGain (ilist); int igl = Math.min (30, ig.numLocations()); for (int i = 0; i < igl; i++) System.out.println ("InfoGain["+ig.getObjectAtRank(i)+"]="+ig.getValueAtRank(i)); return this.meClassifier; }
public PhoneSyllTagModel train(Collection<SWord> inputs) { InstanceList examples = makeExamplesFromAligns(inputs); Pipe pipe = examples.getPipe(); log.info("Training test-time syll phone tagger on whole data..."); TransducerTrainer trainer = trainOnce(pipe, examples); return new PhoneSyllTagModel((CRF) trainer.getTransducer()); }
public MaxEnt trainClassifier (InstanceList ilist, String correct, String incorrect) { this.meClassifier = (MaxEnt) meTrainer.train (ilist); this.pipe = ilist.getPipe (); this.correct = correct; this.incorrect = incorrect; InfoGain ig = new InfoGain (ilist); int igl = Math.min (30, ig.numLocations()); for (int i = 0; i < igl; i++) System.out.println ("InfoGain["+ig.getObjectAtRank(i)+"]="+ig.getValueAtRank(i)); return this.meClassifier; }
public MaxEnt trainClassifier (InstanceList ilist, String correct, String incorrect) { this.meClassifier = (MaxEnt) meTrainer.train (ilist); this.pipe = ilist.getPipe (); this.correct = correct; this.incorrect = incorrect; InfoGain ig = new InfoGain (ilist); int igl = Math.min (30, ig.numLocations()); for (int i = 0; i < igl; i++) System.out.println ("InfoGain["+ig.getObjectAtRank(i)+"]="+ig.getValueAtRank(i)); return this.meClassifier; }
public AlignTagModel train(Collection<Alignment> inputs) { InstanceList examples = makeExamplesFromAligns(inputs); Pipe pipe = examples.getPipe(); log.info("Training test-time aligner on whole data..."); TransducerTrainer trainer = trainOnce(pipe, examples); return new AlignTagModel((CRF) trainer.getTransducer()); }
public InstanceList getInstances() { InstanceList ret = new InstanceList(m_ilist.getPipe()); for (int ii = 0; ii < m_instIndices.length; ii++) ret.add(m_ilist.get(m_instIndices[ii])); return ret; }
public BaggingClassifier train (InstanceList trainingList) { Classifier[] classifiers = new Classifier[numBags]; java.util.Random r = new java.util.Random (); for (int round = 0; round < numBags; round++) { InstanceList bag = trainingList.sampleWithReplacement (r, trainingList.size()); classifiers[round] = underlyingTrainer.newClassifierTrainer().train (bag); } this.classifier = new BaggingClassifier (trainingList.getPipe(), classifiers); return classifier; }
/** Return an list of instances with a particular label. */ public InstanceList getCluster(int label) { InstanceList cluster = new InstanceList(instances.getPipe()); for (int n=0 ; n<instances.size() ; n++) if (labels[n] == label) cluster.add(instances.get(n)); return cluster; }
/** Return an list of instances with a particular label. */ public InstanceList getCluster(int label) { InstanceList cluster = new InstanceList(instances.getPipe()); for (int n=0 ; n<instances.size() ; n++) if (labels[n] == label) cluster.add(instances.get(n)); return cluster; }
public DecisionTree train (InstanceList trainingList) { FeatureSelection selectedFeatures = trainingList.getFeatureSelection(); DecisionTree.Node root = new DecisionTree.Node (trainingList, null, selectedFeatures); splitTree (root, selectedFeatures, 0); root.stopGrowth(); finished = true; System.out.println ("DecisionTree learned:"); root.print(); this.classifier = new DecisionTree (trainingList.getPipe(), root); return classifier; }
public DecisionTree train (InstanceList trainingList) { FeatureSelection selectedFeatures = trainingList.getFeatureSelection(); DecisionTree.Node root = new DecisionTree.Node (trainingList, null, selectedFeatures); splitTree (root, selectedFeatures, 0); root.stopGrowth(); finished = true; System.out.println ("DecisionTree learned:"); root.print(); this.classifier = new DecisionTree (trainingList.getPipe(), root); return classifier; }
public static CRF getCRF(InstanceList training, int[] orders, String defaultLabel, String forbidden, String allowed, boolean connected) { Pattern forbiddenPat = Pattern.compile(forbidden); Pattern allowedPat = Pattern.compile(allowed); CRF crf = new CRF(training.getPipe(), (Pipe)null); String startName = crf.addOrderNStates(training, orders, null, defaultLabel, forbiddenPat, allowedPat, connected); for (int i = 0; i < crf.numStates(); i++) crf.getState(i).setInitialWeight (Transducer.IMPOSSIBLE_WEIGHT); crf.getState(startName).setInitialWeight(0.0); crf.setWeightsDimensionDensely(); return crf; }
public static CRF getCRF(InstanceList training, int[] orders, String defaultLabel, String forbidden, String allowed, boolean connected) { Pattern forbiddenPat = Pattern.compile(forbidden); Pattern allowedPat = Pattern.compile(allowed); CRF crf = new CRF(training.getPipe(), (Pipe)null); String startName = crf.addOrderNStates(training, orders, null, defaultLabel, forbiddenPat, allowedPat, connected); for (int i = 0; i < crf.numStates(); i++) crf.getState(i).setInitialWeight (Transducer.IMPOSSIBLE_WEIGHT); crf.getState(startName).setInitialWeight(0.0); crf.setWeightsDimensionDensely(); return crf; }
private void initializeFor(InstanceList examples) { this.crf = new CRF(examples.getPipe(), null); crf.addOrderNStates(examples, new int[]{1}, null, null, null, null, false); crf.addStartState(); crf.setWeightsDimensionAsIn(examples, false); if (crfFrom != null) { crf.initializeApplicableParametersFrom(crfFrom); } }