|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectipeirotis.gal.scripts.DawidSkene
public class DawidSkene
Field Summary | |
---|---|
(package private) java.util.HashMap<java.lang.String,java.lang.Integer> |
annotators
|
(package private) java.util.HashMap<java.lang.Integer,java.lang.Double> |
annotators_cost_adjusted
|
(package private) java.util.HashMap<java.lang.Integer,java.lang.Double> |
annotators_cost_minimized
|
(package private) java.util.HashMap<java.lang.Integer,java.lang.Double> |
annotators_cost_naive
|
(package private) java.util.HashMap<java.lang.Integer,java.lang.String> |
annotators_names
|
(package private) java.util.HashMap<java.lang.String,java.lang.Integer> |
classes
|
(package private) java.util.HashMap<java.lang.Integer,java.lang.String> |
classes_names
|
(package private) java.util.HashMap<java.lang.String,java.lang.Integer> |
contributions
|
(package private) int[] |
correct
|
(package private) double[][] |
cost
|
(package private) int |
I
|
(package private) int |
J
|
(package private) int |
K
|
(package private) int[][] |
label
|
(package private) java.util.HashMap<java.lang.String,java.lang.Integer> |
objects
|
(package private) java.util.HashMap<java.lang.Integer,java.lang.String> |
objects_names
|
(package private) double[][][] |
pi
|
(package private) double[] |
prior
|
(package private) double[][] |
T
|
(package private) double[] |
Tcount
|
(package private) double[][] |
Tdenom
|
Constructor Summary | |
---|---|
DawidSkene(java.util.Vector<ipeirotis.gal.scripts.Labeling> labels,
java.util.Vector<ipeirotis.gal.scripts.Labeling> correct_labels,
java.util.Vector<ipeirotis.gal.scripts.Labeling> classification_cost)
|
Method Summary | |
---|---|
void |
estimate(int iterations)
|
double |
getAnnotatorCostAdjusted(int k)
Estimates the cost for annotator k after adjusting class estimates using the error rates of the annotator |
double |
getAnnotatorCostMinimized(int k)
Estimates the cost for annotator k after adjusting class estimates using the error rates of the annotator |
double |
getAnnotatorCostNaive(int k)
Estimates the cost for annotator k without attempting corrections of labels |
java.util.HashMap<java.lang.Integer,java.lang.Double> |
getAnnotatorsCost()
|
java.util.HashMap<java.lang.Integer,java.lang.String> |
getAnnotatorsName()
|
private int |
getMajorityClass(int oid)
|
java.util.HashMap<java.lang.String,java.lang.String> |
getMajorityVote()
|
private double |
getMinSoftLabelCost(double[] p)
Gets as input a "soft label" (i.e., a distribution of probabilities over classes) and returns the expected cost of this soft label. |
private double |
getMinSpammerCost()
Returns the cost of a "spammer" worker, who assigns completely random labels. |
double[] |
getObjectClassProbabilities(int oid,
int lid)
|
private double |
getSoftLabelCost(double[] p)
Gets as input a "soft label" (i.e., a distribution of probabilities over classes) and returns the expected cost of this soft label. |
private double |
getSpammerCost()
Returns the cost of a "spammer" worker, who assigns completely random labels. |
private void |
initializeCosts()
|
private void |
initializeErrorRates()
|
private void |
initializeObjectClassProbabilities()
|
private void |
initializePriors()
|
static java.util.Vector<ipeirotis.gal.scripts.Labeling> |
loadLabels(java.lang.String[] lines)
|
static void |
main(java.lang.String[] args)
|
java.lang.String |
printAllWorkerScores()
|
java.lang.String |
printAnnotatorCostsSummary()
|
java.lang.String |
printDiffVote(java.util.HashMap<java.lang.String,java.lang.String> prior_voting,
java.util.HashMap<java.lang.String,java.lang.String> posterior_voting)
|
java.lang.String |
printObjectClassProbabilities(double entropy_threshold)
Prints the objects that have probability distributions with entropy higher than the given threshold |
java.lang.String |
printPriors()
|
java.lang.String |
printVote()
|
java.lang.String |
printWorkerScore(int workerid)
|
void |
updateAnnotatorCosts()
|
void |
updateAnnotatorErrorRates()
|
void |
updateObjectClassProbabilities()
|
void |
updatePriors()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
java.util.HashMap<java.lang.String,java.lang.Integer> annotators
java.util.HashMap<java.lang.String,java.lang.Integer> contributions
java.util.HashMap<java.lang.String,java.lang.Integer> objects
java.util.HashMap<java.lang.String,java.lang.Integer> classes
java.util.HashMap<java.lang.Integer,java.lang.String> annotators_names
java.util.HashMap<java.lang.Integer,java.lang.String> objects_names
java.util.HashMap<java.lang.Integer,java.lang.String> classes_names
java.util.HashMap<java.lang.Integer,java.lang.Double> annotators_cost_naive
java.util.HashMap<java.lang.Integer,java.lang.Double> annotators_cost_adjusted
java.util.HashMap<java.lang.Integer,java.lang.Double> annotators_cost_minimized
int I
int J
int K
int[][] label
int[] correct
double[][][] pi
double[][] cost
double[] prior
double[][] T
double[][] Tdenom
double[] Tcount
Constructor Detail |
---|
public DawidSkene(java.util.Vector<ipeirotis.gal.scripts.Labeling> labels, java.util.Vector<ipeirotis.gal.scripts.Labeling> correct_labels, java.util.Vector<ipeirotis.gal.scripts.Labeling> classification_cost)
Method Detail |
---|
public static void main(java.lang.String[] args)
public java.lang.String printDiffVote(java.util.HashMap<java.lang.String,java.lang.String> prior_voting, java.util.HashMap<java.lang.String,java.lang.String> posterior_voting)
public java.lang.String printVote()
public static java.util.Vector<ipeirotis.gal.scripts.Labeling> loadLabels(java.lang.String[] lines)
private void initializeCosts()
public void updateAnnotatorCosts()
public double getAnnotatorCostNaive(int k)
k
-
public double getAnnotatorCostMinimized(int k)
k
-
public double getAnnotatorCostAdjusted(int k)
k
-
private double getSoftLabelCost(double[] p)
p
-
private double getMinSoftLabelCost(double[] p)
p
-
private double getSpammerCost()
private double getMinSpammerCost()
public void estimate(int iterations)
private void initializeErrorRates()
private void initializeObjectClassProbabilities()
private void initializePriors()
public java.lang.String printAnnotatorCostsSummary()
public java.lang.String printAllWorkerScores()
public java.lang.String printWorkerScore(int workerid)
public java.lang.String printObjectClassProbabilities(double entropy_threshold)
entropy_threshold
- public java.lang.String printPriors()
public void updateAnnotatorErrorRates()
public void updateObjectClassProbabilities()
public double[] getObjectClassProbabilities(int oid, int lid)
public void updatePriors()
private int getMajorityClass(int oid)
public java.util.HashMap<java.lang.String,java.lang.String> getMajorityVote()
public java.util.HashMap<java.lang.Integer,java.lang.String> getAnnotatorsName()
public java.util.HashMap<java.lang.Integer,java.lang.Double> getAnnotatorsCost()
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |