info.ephyra.questionanalysis.atype.minorthird.hierarchical
Class HierarchicalClassifierTrainer

java.lang.Object
  extended by info.ephyra.questionanalysis.atype.minorthird.hierarchical.HierarchicalClassifierTrainer

public class HierarchicalClassifierTrainer
extends java.lang.Object

Tool for training and evaluating hierarchical classifiers.

Version:
2008-02-10
Author:
Justin Betteridge

Field Summary
private  edu.cmu.minorthird.classify.Classifier classifier
           
private  java.lang.String classifierDir
           
private  java.util.HashSet<java.lang.String> classLabels
           
private  int crossValidationFolds
           
private  edu.cmu.minorthird.classify.experiments.CrossValidatedDataset cvDataset
           
private  edu.cmu.minorthird.classify.experiments.Evaluation evaluation
           
private  FeatureExtractor extractor
           
private  java.util.HashSet<java.lang.String> featureTypes
           
private  edu.cmu.lti.util.Pair<edu.cmu.lti.javelin.util.Language,edu.cmu.lti.javelin.util.Language> languagePair
           
private  java.lang.String[] learnerNames
           
private  boolean loadTraining
           
private static org.apache.log4j.Logger log
           
private  Properties properties
           
private  long runTime
           
private  java.lang.String testingFile
           
private  edu.cmu.minorthird.classify.Dataset testingSet
           
private  java.lang.String trainingFile
           
private  java.util.HashSet<java.lang.String> trainingLabels
           
private  edu.cmu.minorthird.classify.Dataset trainingSet
           
private  boolean useClassLevels
           
 
Constructor Summary
HierarchicalClassifierTrainer(edu.cmu.lti.util.Pair<edu.cmu.lti.javelin.util.Language,edu.cmu.lti.javelin.util.Language> languagePair)
           
 
Method Summary
 HierarchicalClassifierLearner createHierarchicalClassifierLearner(java.lang.String[] learners)
           
 edu.cmu.minorthird.classify.ClassifierLearner createLearnerByName(java.lang.String name)
           
 java.lang.String createReport()
           
 edu.cmu.minorthird.classify.Classifier getClassifier()
           
 void initialize()
           
 void loadClassifier(java.lang.String fileName)
           
static void main(java.lang.String[] args)
           
private  edu.cmu.minorthird.classify.Dataset makeDataset(java.lang.String fileName)
           
private  java.lang.String prettyPrintCM(edu.cmu.minorthird.classify.experiments.Evaluation.Matrix matrix, java.lang.String[] classes)
           
 edu.cmu.minorthird.classify.experiments.Evaluation runExperiment()
           
 void saveClassifier()
           
 void saveClassifier(java.lang.String fileName)
           
 void setProperties(Properties properties)
          Overrides default properties with those given.
 void trainClassifier()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

log

private static org.apache.log4j.Logger log

extractor

private FeatureExtractor extractor

trainingFile

private java.lang.String trainingFile

testingFile

private java.lang.String testingFile

crossValidationFolds

private int crossValidationFolds

learnerNames

private java.lang.String[] learnerNames

useClassLevels

private boolean useClassLevels

classLabels

private java.util.HashSet<java.lang.String> classLabels

trainingLabels

private java.util.HashSet<java.lang.String> trainingLabels

featureTypes

private java.util.HashSet<java.lang.String> featureTypes

loadTraining

private boolean loadTraining

classifierDir

private java.lang.String classifierDir

trainingSet

private edu.cmu.minorthird.classify.Dataset trainingSet

testingSet

private edu.cmu.minorthird.classify.Dataset testingSet

classifier

private edu.cmu.minorthird.classify.Classifier classifier

languagePair

private edu.cmu.lti.util.Pair<edu.cmu.lti.javelin.util.Language,edu.cmu.lti.javelin.util.Language> languagePair

properties

private Properties properties

cvDataset

private edu.cmu.minorthird.classify.experiments.CrossValidatedDataset cvDataset

evaluation

private edu.cmu.minorthird.classify.experiments.Evaluation evaluation

runTime

private long runTime
Constructor Detail

HierarchicalClassifierTrainer

public HierarchicalClassifierTrainer(edu.cmu.lti.util.Pair<edu.cmu.lti.javelin.util.Language,edu.cmu.lti.javelin.util.Language> languagePair)
Method Detail

setProperties

public void setProperties(Properties properties)
Overrides default properties with those given.

Parameters:
properties -

initialize

public void initialize()
                throws java.lang.Exception
Throws:
java.lang.Exception

makeDataset

private edu.cmu.minorthird.classify.Dataset makeDataset(java.lang.String fileName)

createHierarchicalClassifierLearner

public HierarchicalClassifierLearner createHierarchicalClassifierLearner(java.lang.String[] learners)

createLearnerByName

public edu.cmu.minorthird.classify.ClassifierLearner createLearnerByName(java.lang.String name)

runExperiment

public edu.cmu.minorthird.classify.experiments.Evaluation runExperiment()

trainClassifier

public void trainClassifier()

saveClassifier

public void saveClassifier(java.lang.String fileName)

saveClassifier

public void saveClassifier()

loadClassifier

public void loadClassifier(java.lang.String fileName)

getClassifier

public edu.cmu.minorthird.classify.Classifier getClassifier()

createReport

public java.lang.String createReport()

prettyPrintCM

private java.lang.String prettyPrintCM(edu.cmu.minorthird.classify.experiments.Evaluation.Matrix matrix,
                                       java.lang.String[] classes)

main

public static void main(java.lang.String[] args)
                 throws java.lang.Exception
Throws:
java.lang.Exception