⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 beam.java

📁 Standord Classifier实现了一个基于Java的最大熵分类器。用于模式识别
💻 JAVA
字号:
package edu.stanford.nlp.util;import java.util.*;/** * Implements a finite beam, taking a comparator (default is * ScoredComparator.ASCENDING_COMPARATOR, the MAX object according to * the comparator is the one to be removed) and a beam size on * construction (default is 100).  Adding an object may cause the * worst-scored object to be removed from the beam (and that object * may well be the newly added object itself. * * @author <a href="mailto:klein@cs.stanford.edu">Dan Klein</a> * @version 1.0 */public class Beam extends AbstractSet {    protected int maxBeamSize;    protected Heap elements;    public int capacity() { return maxBeamSize; }    public int size() { return elements.size(); }    public Iterator iterator() { return asSortedList().iterator(); }  public List asSortedList() {    LinkedList list = new LinkedList();    for (Iterator i = elements.iterator(); i.hasNext();) {      list.addFirst(i.next());    }    return list;  }    public boolean add(Object o) {	boolean added = true;	elements.add(o);	while (size() > capacity()) {	  Object dumped = elements.extractMin();	  if (dumped.equals(o))	    added = false;	}	return added;    }    public boolean remove(Object o) {      //return elements.remove(o);      throw new UnsupportedOperationException();    }    public Beam() {	this(100);    }        public Beam(int maxBeamSize) {	this(maxBeamSize, ScoredComparator.ASCENDING_COMPARATOR);    }    public Beam(int maxBeamSize, Comparator cmp) {	elements = new ArrayHeap(cmp);	this.maxBeamSize  = maxBeamSize;    }  public static void main(String[] args) {    Beam b = new Beam(2, ScoredComparator.ASCENDING_COMPARATOR);    b.add(new ScoredObject("1",1.0));    b.add(new ScoredObject("2",2.0));    b.add(new ScoredObject("3",3.0));    b.add(new ScoredObject("0",0.0));    for (Iterator bI = b.iterator(); bI.hasNext();) {      ScoredObject sO = (ScoredObject)bI.next();      System.out.println(sO);    }  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -