nz.ac.waikato.mcennis.rat.graph.algorithm.evaluation
Class PrecisionRecallFMeasure

java.lang.Object
  extended by nz.ac.waikato.mcennis.rat.graph.model.ModelShell
      extended by nz.ac.waikato.mcennis.rat.graph.algorithm.evaluation.PrecisionRecallFMeasure
All Implemented Interfaces:
java.io.Serializable, Component, Algorithm, Model

public class PrecisionRecallFMeasure
extends ModelShell
implements Algorithm

Class for calculating a variety of evaluation metrics between Given(user->artist) (ground truth) and a Derived(user->artist) (predicted) set of links. Caculates precision, recall, and FMeasure both for positive and negative evaluations and with standard deviations for both metrics.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class nz.ac.waikato.mcennis.rat.graph.model.ModelShell
listener
 
Constructor Summary
PrecisionRecallFMeasure()
          Creates a new instance of Evaluation
 
Method Summary
 void execute(Graph g)
          Calculate all the evaluation metrics against the given graph.
 java.util.List<IODescriptor> getInputType()
          The input type describes all the different kinds of graph objects that are utilized (and hence required) by this object.
 java.util.List<IODescriptor> getOutputType()
          The output type describes all the different kinds of graph objects that are created during the execution of this algorithm.
 Properties getParameter()
          List of all parameters this component accepts.
 Parameter getParameter(java.lang.String param)
          Returns the specific parameter identified by its key-name.
 void init(Properties map)
          Parameters to be initialized 'name' - name of this instance of this algorithm.
protected  void negativeFMeasure(Graph g, ActorQuery mode, LinkQuery sourceAnd, LinkQuery derivedAnd, LinkQuery.LinkEnd end)
           
protected  void negativePrecision(Graph g, ActorQuery mode, LinkQuery sourceAnd, LinkQuery derivedAnd, LinkQuery.LinkEnd end)
           
protected  void negativeRecall(Graph g, ActorQuery mode, LinkQuery sourceAnd, LinkQuery derivedAnd, LinkQuery.LinkEnd end)
           
protected  void positiveFMeasure(Graph g, ActorQuery mode, LinkQuery sourceAnd, LinkQuery derivedAnd, LinkQuery.LinkEnd end)
           
protected  void positivePrecision(Graph g, ActorQuery mode, LinkQuery sourceAnd, LinkQuery derivedAnd, LinkQuery.LinkEnd end)
           
protected  void positiveRecall(Graph g, ActorQuery mode, LinkQuery sourceAnd, LinkQuery derivedAnd, LinkQuery.LinkEnd end)
           
 PrecisionRecallFMeasure prototype()
          All Components implement the prototype pattern.
 
Methods inherited from class nz.ac.waikato.mcennis.rat.graph.model.ModelShell
addListener, fireChange
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface nz.ac.waikato.mcennis.rat.graph.model.Model
addListener
 

Constructor Detail

PrecisionRecallFMeasure

public PrecisionRecallFMeasure()
Creates a new instance of Evaluation

Method Detail

execute

public void execute(Graph g)
Calculate all the evaluation metrics against the given graph. TODO: add F-measure stastic

Specified by:
execute in interface Algorithm
Parameters:
g - graph to be modified

positivePrecision

protected void positivePrecision(Graph g,
                                 ActorQuery mode,
                                 LinkQuery sourceAnd,
                                 LinkQuery derivedAnd,
                                 LinkQuery.LinkEnd end)

positiveRecall

protected void positiveRecall(Graph g,
                              ActorQuery mode,
                              LinkQuery sourceAnd,
                              LinkQuery derivedAnd,
                              LinkQuery.LinkEnd end)

positiveFMeasure

protected void positiveFMeasure(Graph g,
                                ActorQuery mode,
                                LinkQuery sourceAnd,
                                LinkQuery derivedAnd,
                                LinkQuery.LinkEnd end)

negativePrecision

protected void negativePrecision(Graph g,
                                 ActorQuery mode,
                                 LinkQuery sourceAnd,
                                 LinkQuery derivedAnd,
                                 LinkQuery.LinkEnd end)

negativeRecall

protected void negativeRecall(Graph g,
                              ActorQuery mode,
                              LinkQuery sourceAnd,
                              LinkQuery derivedAnd,
                              LinkQuery.LinkEnd end)

negativeFMeasure

protected void negativeFMeasure(Graph g,
                                ActorQuery mode,
                                LinkQuery sourceAnd,
                                LinkQuery derivedAnd,
                                LinkQuery.LinkEnd end)

getInputType

public java.util.List<IODescriptor> getInputType()
Description copied from interface: Component
The input type describes all the different kinds of graph objects that are utilized (and hence required) by this object. This result is only guaranteed to be fixed if structural parameters are not modified. This is an empty array if there is no input.

Specified by:
getInputType in interface Component
Returns:
IODescriptor array for this component
See Also:
IODescriptor

getOutputType

public java.util.List<IODescriptor> getOutputType()
Description copied from interface: Component
The output type describes all the different kinds of graph objects that are created during the execution of this algorithm. The result is only guaranteed to be fixed if structural parameters are not modified. This is an empty array if there is no output.

Specified by:
getOutputType in interface Component
Returns:
IODescriptor array for this component
See Also:
IODescriptor

getParameter

public Properties getParameter()
Description copied from interface: Component
List of all parameters this component accepts. Each parameter also has a distinct key-name used when initializing the object using the init method. If there are no parameters, null is returned.

Specified by:
getParameter in interface Component
Returns:
read-only array of Parameters

getParameter

public Parameter getParameter(java.lang.String param)
Description copied from interface: Component
Returns the specific parameter identified by its key-name. If no parameter is found with this key-name, null is returned.

Specified by:
getParameter in interface Component
Parameters:
param - key-name of the parameter
Returns:
named parameter

init

public void init(Properties map)
Parameters to be initialized
  1. 'name' - name of this instance of this algorithm. Deafult 'Evaluation'
  2. 'relationGroundTruth' - type (relation) of link that describes ground truth relations between two actor types (modes). Default 'Given'
  3. 'relationDerived' - type (relation) of link that describes calculated references to be evaluated between two modes. Deafult 'Derived'.
  4. 'propertyPrefix' - prefix for the property names generated. Default 'Evaluation '.


Input 1 - Link
Input 2 - Link
Output 1-12 - Graph Property

Specified by:
init in interface Component
Parameters:
map - map of the given properties naming parameters and their values in a string

prototype

public PrecisionRecallFMeasure prototype()
Description copied from interface: Component
All Components implement the prototype pattern. The new parameter has no common resources to the original that are not static resources o the class.

Specified by:
prototype in interface Component
Specified by:
prototype in interface Algorithm
Returns:
default-parameter version of the same class as the original.

Get Relational Analysis Toolkit at SourceForge.net. Fast, secure and Free Open Source software downloads