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

📄 cglinearclassifierfactory.java

📁 Standord Classifier实现了一个基于Java的最大熵分类器。用于模式识别
💻 JAVA
字号:
package edu.stanford.nlp.classify;import java.util.*;import edu.stanford.nlp.util.*;import edu.stanford.nlp.optimization.*;/** @author Dan Klein */public class CGLinearClassifierFactory extends AbstractLinearClassifierFactory {  boolean useSum = false;  double TOL = 1e-4;  double sigma = 1.0;  public double[][] trainWeights(int[][] data, int[] labels) {    Minimizer minimizer = new CGMinimizer(false);    DiffFunction objective = (useSum ?			      new SumConditionalObjectiveFunction(numFeatures(), numClasses(), data, labels):			      new LogConditionalObjectiveFunction(numFeatures(), numClasses(), data, labels, sigma));    double[] weights = minimizer.minimize(objective, TOL, ((HasInitial)objective).initial());    //System.err.println("Final derivative norm2: "+((AbstractCachingDiffFunction)objective).norm2(((AbstractCachingDiffFunction)objective).derivative));    return ((LogConditionalObjectiveFunction)objective).to2D(weights);  }  public CGLinearClassifierFactory() {  };    public CGLinearClassifierFactory(boolean useSum) {    this.useSum = useSum;  };  public CGLinearClassifierFactory(double tol) {    this.TOL = tol;  };  public CGLinearClassifierFactory(double tol, boolean useSum) {    this.TOL = tol;    this.useSum = useSum;  };  public CGLinearClassifierFactory(double tol, boolean useSum, double sigma) {    this.TOL = tol;    this.useSum = useSum;    this.sigma = sigma;  };}

⌨️ 快捷键说明

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