public class EquivalenceClassEval<IN,OUT>
extends java.lang.Object
Collections.
Allows flexible specification of:
EquivalenceClassEval.EqualityChecker instance)
EquivalenceClasser instance)
EquivalenceClassEval.EqualityChecker if one is given. If set-based evaluation
were conducted on the basis of an EqualityChecker, then there would be indeterminacy when it did not subsume the EquivalenceClasser,
if one was given. For example, if objects of the form
X:y were equivalence-classed by the left criterion and evaluated for equality on the right, then set-based
evaluation based on the equality checker would be indeterminate for a collection of {A:a,B:a}
because it would be unclear whether to use the first or second element of the collection.| Modifier and Type | Class and Description |
|---|---|
static interface |
EquivalenceClassEval.EqualityChecker<T>
A strategy-type interface for specifying an equality criterion for pairs of
Objects. |
static interface |
EquivalenceClassEval.Factory<IN,OUT> |
| Modifier and Type | Field and Description |
|---|---|
protected boolean |
bagEval |
static EquivalenceClassEval.EqualityChecker |
DEFAULT_CHECKER
A default equality checker that uses
Object.equals(java.lang.Object) to determine equality. |
static EquivalenceClasser |
NULL_EQUIVALENCE_CLASSER
Maps all objects to the equivalence class
null |
| Constructor and Description |
|---|
EquivalenceClassEval()
Specifies a default EquivalenceClassEval, using
Object.equals(java.lang.Object) as equality criterion
and grouping all items into the "null" equivalence class for reporting purposes |
EquivalenceClassEval(EquivalenceClasser<IN,OUT> eq)
Specifies an EquivalenceClassEval using
Object.equals(java.lang.Object) as equality criterion
and grouping all items according to the EquivalenceClasser argument. |
EquivalenceClassEval(EquivalenceClasser<IN,OUT> eq,
EquivalenceClassEval.EqualityChecker<IN> e)
Specifies an EquivalenceClassEval using the Eval.EqualityChecker argument as equality criterion
and grouping all items according to the EquivalenceClasser argument.
|
EquivalenceClassEval(EquivalenceClasser<IN,OUT> eq,
EquivalenceClassEval.EqualityChecker<IN> e,
java.lang.String summaryName)
Specifies an EquivalenceClassEval using the Eval.EqualityChecker argument as equality criterion
and grouping all items according to the EquivalenceClasser argument.
|
EquivalenceClassEval(EquivalenceClasser<IN,OUT> eq,
java.lang.String name)
Specifies an EquivalenceClassEval using
Object.equals(java.lang.Object) as equality criterion
and grouping all items according to the EquivalenceClasser argument. |
EquivalenceClassEval(EquivalenceClassEval.EqualityChecker<IN> e)
Specifies an EquivalenceClassEval using the Eval.EqualityChecker argument as equality criterion
and grouping all items into a single equivalence class for reporting statistics.
|
| Modifier and Type | Method and Description |
|---|---|
static <T> EquivalenceClassEval.EqualityChecker<T> |
defaultChecker() |
void |
display()
Displays the cumulative results of the evaluation to
System.out. |
void |
display(java.io.PrintWriter pw)
Displays the cumulative results of the evaluation.
|
void |
displayLast()
Displays the results of the previous Collection pair evaluation to
System.out. |
void |
displayLast(java.io.PrintWriter pw)
Displays the results of the previous Collection pair evaluation.
|
void |
eval(java.util.Collection<IN> guesses,
java.util.Collection<IN> golds)
Adds a round of evaluation between guesses and golds
Collections to the tabulated statistics of
the evaluation. |
void |
eval(java.util.Collection<IN> guesses,
java.util.Collection<IN> golds,
java.io.PrintWriter pw) |
static <E> Counter<E> |
f1(Counter<E> precision,
Counter<E> recall) |
static double |
f1(double precision,
double recall) |
double |
f1(OUT key) |
EquivalenceClassEval.Factory<IN,OUT> |
factory()
returns a new
EquivalenceClassEval.Factory instance that vends new EquivalenceClassEval instances with
settings like this |
ClassicCounter<OUT> |
lastF1() |
double |
lastF1(OUT key) |
ClassicCounter<OUT> |
lastNumGolds() |
double |
lastNumGolds(OUT key) |
ClassicCounter<OUT> |
lastNumGoldsCorrect() |
ClassicCounter<OUT> |
lastNumGuessed() |
double |
lastNumGuessed(OUT key) |
ClassicCounter<OUT> |
lastNumGuessedCorrect() |
ClassicCounter<OUT> |
lastPrecision() |
double |
lastPrecision(OUT key) |
ClassicCounter<OUT> |
lastRecall() |
double |
lastRecall(OUT key) |
static void |
main(java.lang.String[] args) |
static <T,U> EquivalenceClasser<T,U> |
nullEquivalenceClasser() |
double |
precision(OUT key) |
double |
recall(OUT key) |
protected static <T> void |
removeItem(T o,
java.util.Collection<T> c,
edu.stanford.nlp.stats.EquivalenceClassEval.Eval.CollectionContainsChecker<T> checker) |
void |
setBagEval(boolean bagEval)
If bagEval is set to
true, then multiple instances of the same item will not be merged. |
protected boolean bagEval
public static final EquivalenceClasser NULL_EQUIVALENCE_CLASSER
nullpublic static final EquivalenceClassEval.EqualityChecker DEFAULT_CHECKER
Object.equals(java.lang.Object) to determine equality.public EquivalenceClassEval()
Object.equals(java.lang.Object) as equality criterion
and grouping all items into the "null" equivalence class for reporting purposespublic EquivalenceClassEval(EquivalenceClasser<IN,OUT> eq)
Object.equals(java.lang.Object) as equality criterion
and grouping all items according to the EquivalenceClasser argument.public EquivalenceClassEval(EquivalenceClassEval.EqualityChecker<IN> e)
public EquivalenceClassEval(EquivalenceClasser<IN,OUT> eq, java.lang.String name)
Object.equals(java.lang.Object) as equality criterion
and grouping all items according to the EquivalenceClasser argument.public EquivalenceClassEval(EquivalenceClasser<IN,OUT> eq, EquivalenceClassEval.EqualityChecker<IN> e)
public EquivalenceClassEval(EquivalenceClasser<IN,OUT> eq, EquivalenceClassEval.EqualityChecker<IN> e, java.lang.String summaryName)
public void setBagEval(boolean bagEval)
true, then multiple instances of the same item will not be merged. For example,
gold (a,a,b) against guess (a,b) will be scored as 100% precision and 66.67% recall. It is false
by default.public static final <T,U> EquivalenceClasser<T,U> nullEquivalenceClasser()
public void eval(java.util.Collection<IN> guesses, java.util.Collection<IN> golds)
Collections to the tabulated statistics of
the evaluation.public void eval(java.util.Collection<IN> guesses, java.util.Collection<IN> golds, java.io.PrintWriter pw)
guesses - Collection of guessed objectsgolds - Collection of gold-standard objectspw - PrintWriter to print eval statsprotected static <T> void removeItem(T o,
java.util.Collection<T> c,
edu.stanford.nlp.stats.EquivalenceClassEval.Eval.CollectionContainsChecker<T> checker)
public void display()
System.out.public void display(java.io.PrintWriter pw)
public void displayLast()
System.out.public void displayLast(java.io.PrintWriter pw)
public double precision(OUT key)
public double recall(OUT key)
public double lastPrecision(OUT key)
public ClassicCounter<OUT> lastPrecision()
public double lastRecall(OUT key)
public ClassicCounter<OUT> lastRecall()
public double lastNumGuessed(OUT key)
public ClassicCounter<OUT> lastNumGuessed()
public ClassicCounter<OUT> lastNumGuessedCorrect()
public double lastNumGolds(OUT key)
public ClassicCounter<OUT> lastNumGolds()
public ClassicCounter<OUT> lastNumGoldsCorrect()
public double f1(OUT key)
public double lastF1(OUT key)
public ClassicCounter<OUT> lastF1()
public static double f1(double precision,
double recall)
public static void main(java.lang.String[] args)
public static final <T> EquivalenceClassEval.EqualityChecker<T> defaultChecker()
public EquivalenceClassEval.Factory<IN,OUT> factory()
EquivalenceClassEval.Factory instance that vends new EquivalenceClassEval instances with
settings like this