weka.associations
Class Tertius

java.lang.Object
  |
  +--weka.associations.Associator
        |
        +--weka.associations.Tertius
All Implemented Interfaces:
java.lang.Cloneable, OptionHandler, java.lang.Runnable, java.io.Serializable

public class Tertius
extends Associator
implements OptionHandler, java.lang.Runnable

Class implementing a Tertius-type algorithm.

References: P. A. Flach, N. Lachiche (1999). Confirmation-Guided Discovery of first-order rules with Tertius. Machine Learning, 42, 61-95.

Valid options are:

-K number of values in result
Set maximum number of confirmation values in the result. (default: 10)

-F frequency threshold
Set frequency threshold for pruning. (default: 0)

-C confirmation threshold
Set confirmation threshold. (default: 0)

-N noise threshold
Set noise threshold : maximum frequency of counter-examples. 0 gives only satisfied rules. (default: 1)

-R
Allow attributes to be repeated in a same rule.

-L number of literals
Set maximum number of literals in a rule. (default: 4)

-G 0=no negation | 1=body | 2=head | 3=body and head
Set the negations in the rule. (default: 0)

-S
Consider only classification rules.

-c class index
Set index of class attribute. (default: last).

-H
Consider only horn clauses.

-E
Keep equivalent rules.

-M
Keep same clauses.

-T
Keep subsumed rules.

-I 0=always match | 1=never match | 2=significant
Set the way to handle missing values. (default: 0)

-O
Use ROC analysis.

-p name of file
Set the file containing the parts of the individual for individual-based learning.

-P 0=no output | 1=on stdout | 2=in separate window
Set output of current values. (default: 0)

Version:
$Revision: 1.1 $
Author:
Amelie Deltour
See Also:
Serialized Form

Field Summary
static int EXPLICIT
          Ways of handling missing values.
static int IMPLICIT
           
static int SIGNIFICANT
           
 
Constructor Summary
Tertius()
          Constructor that sets the options to the default values.
 
Method Summary
 void buildAssociations(Instances instances)
          Method that launches the search to find the rules with the highest confirmation.
 java.lang.String classificationTipText()
          Returns the tip text for this property.
 java.lang.String classIndexTipText()
          Returns the tip text for this property.
 java.lang.String confirmationThresholdTipText()
          Returns the tip text for this property.
 java.lang.String confirmationValuesTipText()
          Returns the tip text for this property.
 boolean disabled_getEquivalent()
          Get the value of equivalent.
 java.io.File disabled_getPartFile()
          Get the value of partFile.
 boolean disabled_getSameClause()
          Get the value of sameClause.
 boolean disabled_getSubsumption()
          Get the value of subsumption.
 void disabled_setEquivalent(boolean v)
          Set the value of equivalent.
 void disabled_setPartFile(java.io.File v)
          Set the value of partFile.
 void disabled_setSameClause(boolean v)
          Set the value of sameClause.
 void disabled_setSubsumption(boolean v)
          Set the value of subsumption.
 java.lang.String equivalentTipText()
          Returns the tip text for this property.
 java.lang.String frequencyThresholdTipText()
          Returns the tip text for this property.
 boolean getClassification()
          Get the value of classification.
 int getClassIndex()
          Get the value of classIndex.
 double getConfirmationThreshold()
          Get the value of confirmationThreshold.
 int getConfirmationValues()
          Get the value of confirmationValues.
 double getFrequencyThreshold()
          Get the value of frequencyThreshold.
 boolean getHornClauses()
          Get the value of hornClauses.
 SelectedTag getMissingValues()
          Get the value of missingValues.
 SelectedTag getNegation()
          Get the value of negation.
 double getNoiseThreshold()
          Get the value of noiseThreshold.
 int getNumberLiterals()
          Get the value of numberLiterals.
 java.lang.String[] getOptions()
          Gets the current settings of the Tertius object.
 boolean getRepeatLiterals()
          Get the value of repeatLiterals.
 boolean getRocAnalysis()
          Get the value of rocAnalysis.
 SelectedTag getValuesOutput()
          Get the value of valuesOutput.
 java.lang.String globalInfo()
          Returns a string describing this associator.
 java.lang.String hornClausesTipText()
          Returns the tip text for this property.
 java.util.Enumeration listOptions()
          Returns an enumeration describing the available options.
static void main(java.lang.String[] options)
          Main method for testing this class.
 java.lang.String missingValuesTipText()
          Returns the tip text for this property.
 java.lang.String negationTipText()
          Returns the tip text for this property.
 java.lang.String noiseThresholdTipText()
          Returns the tip text for this property.
 java.lang.String numberLiteralsTipText()
          Returns the tip text for this property.
 java.lang.String partFileTipText()
          Returns the tip text for this property.
 java.lang.String repeatLiteralsTipText()
          Returns the tip text for this property.
 void resetOptions()
          Resets the options to the default values.
 java.lang.String rocAnalysisTipText()
          Returns the tip text for this property.
 void run()
          Run the search.
 java.lang.String sameClauseTipText()
          Returns the tip text for this property.
 void search()
          Search in the space of hypotheses the rules that have the highest confirmation.
 void setClassification(boolean v)
          Set the value of classification.
 void setClassIndex(int v)
          Set the value of classIndex.
 void setConfirmationThreshold(double v)
          Set the value of confirmationThreshold.
 void setConfirmationValues(int v)
          Set the value of confirmationValues.
 void setFrequencyThreshold(double v)
          Set the value of frequencyThreshold.
 void setHornClauses(boolean v)
          Set the value of hornClauses.
 void setMissingValues(SelectedTag v)
          Set the value of missingValues.
 void setNegation(SelectedTag v)
          Set the value of negation.
 void setNoiseThreshold(double v)
          Set the value of noiseThreshold.
 void setNumberLiterals(int v)
          Set the value of numberLiterals.
 void setOptions(java.lang.String[] options)
          Parses a given list of options.
 void setRepeatLiterals(boolean v)
          Set the value of repeatLiterals.
 void setRocAnalysis(boolean v)
          Set the value of rocAnalysis.
 void setValuesOutput(SelectedTag v)
          Set the value of valuesOutput.
 java.lang.String subsumptionTipText()
          Returns the tip text for this property.
 java.lang.String toString()
          Outputs the best rules found with their confirmation value and number of counter-instances.
 java.lang.String valuesOutputTipText()
          Returns the tip text for this property.
 
Methods inherited from class weka.associations.Associator
forName, makeCopies
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

EXPLICIT

public static final int EXPLICIT
Ways of handling missing values.

See Also:
Constant Field Values

IMPLICIT

public static final int IMPLICIT
See Also:
Constant Field Values

SIGNIFICANT

public static final int SIGNIFICANT
See Also:
Constant Field Values
Constructor Detail

Tertius

public Tertius()
Constructor that sets the options to the default values.

Method Detail

globalInfo

public java.lang.String globalInfo()
Returns a string describing this associator.

Returns:
A description of the evaluator suitable for displaying in the explorer/experimenter gui.

resetOptions

public void resetOptions()
Resets the options to the default values.


listOptions

public java.util.Enumeration listOptions()
Returns an enumeration describing the available options.

Specified by:
listOptions in interface OptionHandler
Returns:
An enumeration of all the available options.

setOptions

public void setOptions(java.lang.String[] options)
                throws java.lang.Exception
Parses a given list of options.

Specified by:
setOptions in interface OptionHandler
Parameters:
options - The list of options as an array of strings.
Throws:
java.lang.Exception - if an option is not supported.

getOptions

public java.lang.String[] getOptions()
Gets the current settings of the Tertius object.

Specified by:
getOptions in interface OptionHandler
Returns:
An array of strings suitable for passing to setOptions.

confirmationValuesTipText

public java.lang.String confirmationValuesTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

getConfirmationValues

public int getConfirmationValues()
Get the value of confirmationValues.

Returns:
Value of confirmationValues.

setConfirmationValues

public void setConfirmationValues(int v)
                           throws java.lang.Exception
Set the value of confirmationValues.

Parameters:
v - Value to assign to confirmationValues.
java.lang.Exception

frequencyThresholdTipText

public java.lang.String frequencyThresholdTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

getFrequencyThreshold

public double getFrequencyThreshold()
Get the value of frequencyThreshold.

Returns:
Value of frequencyThreshold.

setFrequencyThreshold

public void setFrequencyThreshold(double v)
Set the value of frequencyThreshold.

Parameters:
v - Value to assign to frequencyThreshold.

confirmationThresholdTipText

public java.lang.String confirmationThresholdTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

getConfirmationThreshold

public double getConfirmationThreshold()
Get the value of confirmationThreshold.

Returns:
Value of confirmationThreshold.

setConfirmationThreshold

public void setConfirmationThreshold(double v)
Set the value of confirmationThreshold.

Parameters:
v - Value to assign to confirmationThreshold.

noiseThresholdTipText

public java.lang.String noiseThresholdTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

getNoiseThreshold

public double getNoiseThreshold()
Get the value of noiseThreshold.

Returns:
Value of noiseThreshold.

setNoiseThreshold

public void setNoiseThreshold(double v)
Set the value of noiseThreshold.

Parameters:
v - Value to assign to noiseThreshold.

repeatLiteralsTipText

public java.lang.String repeatLiteralsTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

getRepeatLiterals

public boolean getRepeatLiterals()
Get the value of repeatLiterals.

Returns:
Value of repeatLiterals.

setRepeatLiterals

public void setRepeatLiterals(boolean v)
Set the value of repeatLiterals.

Parameters:
v - Value to assign to repeatLiterals.

numberLiteralsTipText

public java.lang.String numberLiteralsTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

getNumberLiterals

public int getNumberLiterals()
Get the value of numberLiterals.

Returns:
Value of numberLiterals.

setNumberLiterals

public void setNumberLiterals(int v)
Set the value of numberLiterals.

Parameters:
v - Value to assign to numberLiterals.

negationTipText

public java.lang.String negationTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

getNegation

public SelectedTag getNegation()
Get the value of negation.

Returns:
Value of negation.

setNegation

public void setNegation(SelectedTag v)
Set the value of negation.

Parameters:
v - Value to assign to negation.

classificationTipText

public java.lang.String classificationTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

getClassification

public boolean getClassification()
Get the value of classification.

Returns:
Value of classification.

setClassification

public void setClassification(boolean v)
Set the value of classification.

Parameters:
v - Value to assign to classification.

classIndexTipText

public java.lang.String classIndexTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

getClassIndex

public int getClassIndex()
Get the value of classIndex.

Returns:
Value of classIndex.

setClassIndex

public void setClassIndex(int v)
Set the value of classIndex.

Parameters:
v - Value to assign to classIndex.

hornClausesTipText

public java.lang.String hornClausesTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

getHornClauses

public boolean getHornClauses()
Get the value of hornClauses.

Returns:
Value of hornClauses.

setHornClauses

public void setHornClauses(boolean v)
Set the value of hornClauses.

Parameters:
v - Value to assign to hornClauses.

equivalentTipText

public java.lang.String equivalentTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

disabled_getEquivalent

public boolean disabled_getEquivalent()
Get the value of equivalent.

Returns:
Value of equivalent.

disabled_setEquivalent

public void disabled_setEquivalent(boolean v)
Set the value of equivalent.

Parameters:
v - Value to assign to equivalent.

sameClauseTipText

public java.lang.String sameClauseTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

disabled_getSameClause

public boolean disabled_getSameClause()
Get the value of sameClause.

Returns:
Value of sameClause.

disabled_setSameClause

public void disabled_setSameClause(boolean v)
Set the value of sameClause.

Parameters:
v - Value to assign to sameClause.

subsumptionTipText

public java.lang.String subsumptionTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

disabled_getSubsumption

public boolean disabled_getSubsumption()
Get the value of subsumption.

Returns:
Value of subsumption.

disabled_setSubsumption

public void disabled_setSubsumption(boolean v)
Set the value of subsumption.

Parameters:
v - Value to assign to subsumption.

missingValuesTipText

public java.lang.String missingValuesTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

getMissingValues

public SelectedTag getMissingValues()
Get the value of missingValues.

Returns:
Value of missingValues.

setMissingValues

public void setMissingValues(SelectedTag v)
Set the value of missingValues.

Parameters:
v - Value to assign to missingValues.

rocAnalysisTipText

public java.lang.String rocAnalysisTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

getRocAnalysis

public boolean getRocAnalysis()
Get the value of rocAnalysis.

Returns:
Value of rocAnalysis.

setRocAnalysis

public void setRocAnalysis(boolean v)
Set the value of rocAnalysis.

Parameters:
v - Value to assign to rocAnalysis.

partFileTipText

public java.lang.String partFileTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

disabled_getPartFile

public java.io.File disabled_getPartFile()
Get the value of partFile.

Returns:
Value of partFile.

disabled_setPartFile

public void disabled_setPartFile(java.io.File v)
                          throws java.lang.Exception
Set the value of partFile.

Parameters:
v - Value to assign to partFile.
java.lang.Exception

valuesOutputTipText

public java.lang.String valuesOutputTipText()
Returns the tip text for this property.

Returns:
Tip text for this property suitable for displaying in the explorer/experimenter GUI.

getValuesOutput

public SelectedTag getValuesOutput()
Get the value of valuesOutput.

Returns:
Value of valuesOutput.

setValuesOutput

public void setValuesOutput(SelectedTag v)
Set the value of valuesOutput.

Parameters:
v - Value to assign to valuesOutput.

buildAssociations

public void buildAssociations(Instances instances)
                       throws java.lang.Exception
Method that launches the search to find the rules with the highest confirmation.

Specified by:
buildAssociations in class Associator
Parameters:
instances - The instances to be used for generating the rules.
Throws:
java.lang.Exception - if rules can't be built successfully.

run

public void run()
Run the search.

Specified by:
run in interface java.lang.Runnable

search

public void search()
Search in the space of hypotheses the rules that have the highest confirmation. The search starts with the empty rule, other rules are generated by refinement.


toString

public java.lang.String toString()
Outputs the best rules found with their confirmation value and number of counter-instances. Also gives the number of hypotheses considered and explored, and the time needed.

Overrides:
toString in class java.lang.Object

main

public static void main(java.lang.String[] options)
Main method for testing this class.



Copyright (c) 2003 David Lindsay, Computer Learning Research Centre, Dept. Computer Science, Royal Holloway, University of London