public class EquivalenceClassEval<IN,OUT>
extends java.lang.Object
Collection
s.
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
Object s. |
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
Collection s 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
null
public 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)
Collection
s 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