classifierexample.java

来自「Standord Classifier实现了一个基于Java的最大熵分类器。用于」· Java 代码 · 共 55 行

JAVA
55
字号
package edu.stanford.nlp.classify;import edu.stanford.nlp.dbm.*;import java.util.*;public class ClassifierExample {  protected static String GREEN = "green";  protected static String RED = "red";  protected static String WORKING = "working";  protected static String BROKEN = "broken";  protected static Datum makeStopLights(String ns, String ew) {    List features = new ArrayList();    // Create the north-south light feature    features.add("NS="+ns);    // Create the east-west light feature    features.add("EW="+ew);    // Create the label    String label = (ns.equals(ew) ? BROKEN : WORKING);    return new BasicDatum(features, label);  }  public static void main(String[] args) {    // Create a training set    List trainingData = new ArrayList();    trainingData.add(makeStopLights(GREEN, RED));    trainingData.add(makeStopLights(GREEN, RED));    trainingData.add(makeStopLights(GREEN, RED));    trainingData.add(makeStopLights(RED, GREEN));    trainingData.add(makeStopLights(RED, GREEN));    trainingData.add(makeStopLights(RED, GREEN));    trainingData.add(makeStopLights(RED, RED));    // Create a test set    Datum workingLights = makeStopLights(GREEN, RED);    Datum brokenLights = makeStopLights(RED, RED);    // Build a classifier factory    MaxentClassifierFactory factory = new MaxentClassifierFactory();    // Turn on per-iteration convergence updates    factory.setVerbose(true);    // Small amount of smoothing    factory.setSigma(10.0);    // Build a classifier    LinearClassifier classifier = (LinearClassifier)factory.trainClassifier(trainingData);    // Check out the learned weights    classifier.dump();    // Test the classifier    System.out.println("Working instance got: "+classifier.classOf(workingLights));    classifier.justificationOf(workingLights);    System.out.println("Broken instance got: "+classifier.classOf(brokenLights));    classifier.justificationOf(brokenLights);  }}

⌨️ 快捷键说明

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