public void crossValidateSetSigma(GeneralDataset<L, F> dataset,int kfold, LineSearcher minimizer) { crossValidateSetSigma(dataset, kfold, new MultiClassAccuracyStats<>(MultiClassAccuracyStats.USE_LOGLIKELIHOOD), minimizer); } /**
public String getDescription(int numDigits) { NumberFormat nf = NumberFormat.getNumberInstance(); nf.setMaximumFractionDigits(numDigits); StringBuilder sb = new StringBuilder(); double confWeightedAccuracy = confidenceWeightedAccuracy(); sb.append("--- Accuracy Stats ---").append("\n"); sb.append("accuracy: ").append(nf.format(accuracy)).append(" (").append(correct).append("/").append(total).append(")\n"); sb.append("confidence weighted accuracy :").append(nf.format(confWeightedAccuracy)).append("\n"); sb.append("log-likelihood: ").append(logLikelihood).append("\n"); if (saveFile != null) { String f = saveFile + "-" + saveIndex; sb.append("saving accuracy info to ").append(f).append(".accuracy\n"); StringUtils.printToFile(f + ".accuracy", AccuracyStats.toStringArr(getAccCoverage())); saveIndex++; //sb.append("accuracy coverage: ").append(toStringArr(accrecall)).append("\n"); //sb.append("optimal accuracy coverage: ").append(toStringArr(optaccrecall)); } return sb.toString(); }
public int[] getAccCoverage() { int[] arr = new int[numSamples()]; for (int recall = 1; recall <= numSamples(); recall++) { arr[recall - 1] = numCorrect(recall); } return arr; }
public <F> MultiClassAccuracyStats(ProbabilisticClassifier<L,F> classifier, GeneralDataset<L,F> data,String file, int scoreType) { saveFile=file; this.scoreType = scoreType; initMC(classifier, data); }
public double confidenceWeightedAccuracy() { double acc = 0; for (int recall = 1; recall <= numSamples(); recall++) { acc += numCorrect(recall) / (double) recall; } return acc / numSamples(); }
public <F> MultiClassAccuracyStats(ProbabilisticClassifier<L,F> classifier, GeneralDataset<L,F> data,String file, int scoreType) { saveFile=file; this.scoreType = scoreType; initMC(classifier, data); }
public double confidenceWeightedAccuracy() { double acc = 0; for (int recall = 1; recall <= numSamples(); recall++) { acc += numCorrect(recall) / (double) recall; } return acc / numSamples(); }
public double[] heldOutSetSigma(GeneralDataset<L, F> train, GeneralDataset<L, F> dev, LineSearcher minimizer) { return heldOutSetSigma(train, dev, new MultiClassAccuracyStats<>(MultiClassAccuracyStats.USE_LOGLIKELIHOOD), minimizer); }
public String getDescription(int numDigits) { NumberFormat nf = NumberFormat.getNumberInstance(); nf.setMaximumFractionDigits(numDigits); StringBuilder sb = new StringBuilder(); double confWeightedAccuracy = confidenceWeightedAccuracy(); sb.append("--- Accuracy Stats ---").append("\n"); sb.append("accuracy: ").append(nf.format(accuracy)).append(" (").append(correct).append("/").append(total).append(")\n"); sb.append("confidence weighted accuracy :").append(nf.format(confWeightedAccuracy)).append("\n"); sb.append("log-likelihood: ").append(logLikelihood).append("\n"); if (saveFile != null) { String f = saveFile + "-" + saveIndex; sb.append("saving accuracy info to ").append(f).append(".accuracy\n"); StringUtils.printToFile(f + ".accuracy", AccuracyStats.toStringArr(getAccCoverage())); saveIndex++; //sb.append("accuracy coverage: ").append(toStringArr(accrecall)).append("\n"); //sb.append("optimal accuracy coverage: ").append(toStringArr(optaccrecall)); } return sb.toString(); }
public <F> MultiClassAccuracyStats(ProbabilisticClassifier<L,F> classifier, GeneralDataset<L,F> data,String file, int scoreType) { saveFile=file; this.scoreType = scoreType; initMC(classifier, data); }
public double confidenceWeightedAccuracy() { double acc = 0; for (int recall = 1; recall <= numSamples(); recall++) { acc += numCorrect(recall) / (double) recall; } return acc / numSamples(); }
public double[] heldOutSetSigma(GeneralDataset<L, F> train, GeneralDataset<L, F> dev) { return heldOutSetSigma(train, dev, new MultiClassAccuracyStats<>(MultiClassAccuracyStats.USE_LOGLIKELIHOOD), heldOutSearcher == null ? new GoldenSectionLineSearch(true, 1e-2, min, max) : heldOutSearcher); }
public String getDescription(int numDigits) { NumberFormat nf = NumberFormat.getNumberInstance(); nf.setMaximumFractionDigits(numDigits); StringBuilder sb = new StringBuilder(); double confWeightedAccuracy = confidenceWeightedAccuracy(); sb.append("--- Accuracy Stats ---").append("\n"); sb.append("accuracy: ").append(nf.format(accuracy)).append(" (").append(correct).append("/").append(total).append(")\n"); sb.append("confidence weighted accuracy :").append(nf.format(confWeightedAccuracy)).append("\n"); sb.append("log-likelihood: ").append(logLikelihood).append("\n"); if (saveFile != null) { String f = saveFile + "-" + saveIndex; sb.append("saving accuracy info to ").append(f).append(".accuracy\n"); StringUtils.printToFile(f + ".accuracy", AccuracyStats.toStringArr(getAccCoverage())); saveIndex++; //sb.append("accuracy coverage: ").append(toStringArr(accrecall)).append("\n"); //sb.append("optimal accuracy coverage: ").append(toStringArr(optaccrecall)); } return sb.toString(); }
public <F> MultiClassAccuracyStats(ProbabilisticClassifier<L,F> classifier, GeneralDataset<L,F> data,String file, int scoreType) { saveFile=file; this.scoreType = scoreType; initMC(classifier, data); }
public int[] getAccCoverage() { int[] arr = new int[numSamples()]; for (int recall = 1; recall <= numSamples(); recall++) { arr[recall - 1] = numCorrect(recall); } return arr; }
/** * Calls the method {@link #crossValidateSetSigma(GeneralDataset, int, Scorer, LineSearcher)} with * multi-class log-likelihood scoring (see {@link MultiClassAccuracyStats}) and golden-section line search * (see {@link GoldenSectionLineSearch}). * * @param dataset the data set to optimize sigma on. */ public void crossValidateSetSigma(GeneralDataset<L, F> dataset,int kfold) { logger.info("##you are here."); crossValidateSetSigma(dataset, kfold, new MultiClassAccuracyStats<>(MultiClassAccuracyStats.USE_LOGLIKELIHOOD), new GoldenSectionLineSearch(true, 1e-2, min, max)); }