Class Tertius

All Implemented Interfaces:
Serializable, Cloneable, Runnable, Associator, CapabilitiesHandler, OptionHandler, RevisionHandler, TechnicalInformationHandler

public class Tertius extends AbstractAssociator implements OptionHandler, Runnable, TechnicalInformationHandler
Finds rules according to confirmation measure (Tertius-type algorithm).

For more information see:

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

BibTeX:

 @article{Flach1999,
    author = {P. A. Flach and N. Lachiche},
    journal = {Machine Learning},
    pages = {61-95},
    title = {Confirmation-Guided Discovery of first-order rules with Tertius},
    volume = {42},
    year = {1999}
 }
 

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: 6368 $
Author:
Amelie Deltour
See Also:
  • Field Details

    • EXPLICIT

      public static final int EXPLICIT
      Way of handling missing values: min counterinstances
      See Also:
    • IMPLICIT

      public static final int IMPLICIT
      Way of handling missing values: max counterinstances
      See Also:
    • SIGNIFICANT

      public static final int SIGNIFICANT
      Way of handling missing values: missing as a particular value
      See Also:
  • Constructor Details

    • Tertius

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

    • globalInfo

      public String globalInfo()
      Returns a string describing this associator.
      Returns:
      A description of the evaluator suitable for displaying in the explorer/experimenter gui.
    • getTechnicalInformation

      public TechnicalInformation getTechnicalInformation()
      Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.
      Specified by:
      getTechnicalInformation in interface TechnicalInformationHandler
      Returns:
      the technical information about this class
    • resetOptions

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

      public 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(String[] options) throws Exception
      Parses a given list of options.

      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)
      Specified by:
      setOptions in interface OptionHandler
      Parameters:
      options - The list of options as an array of strings.
      Throws:
      Exception - if an option is not supported.
    • getOptions

      public 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 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)
      Set the value of confirmationValues.
      Parameters:
      v - Value to assign to confirmationValues.
    • frequencyThresholdTipText

      public 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 File disabled_getPartFile()
      Get the value of partFile.
      Returns:
      Value of partFile.
    • disabled_setPartFile

      public void disabled_setPartFile(File v) throws Exception
      Set the value of partFile.
      Parameters:
      v - Value to assign to partFile.
      Throws:
      Exception - if file cannot be opened
    • valuesOutputTipText

      public 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.
    • getCapabilities

      public Capabilities getCapabilities()
      Returns default capabilities of the classifier.
      Specified by:
      getCapabilities in interface Associator
      Specified by:
      getCapabilities in interface CapabilitiesHandler
      Overrides:
      getCapabilities in class AbstractAssociator
      Returns:
      the capabilities of this classifier
      See Also:
    • buildAssociations

      public void buildAssociations(Instances instances) throws Exception
      Method that launches the search to find the rules with the highest confirmation.
      Specified by:
      buildAssociations in interface Associator
      Parameters:
      instances - The instances to be used for generating the rules.
      Throws:
      Exception - if rules can't be built successfully.
    • run

      public void run()
      Run the search.
      Specified by:
      run in interface 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.
    • getResults

      public SimpleLinkedList getResults()
      returns the results
      Returns:
      the results
    • toString

      public 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 Object
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Overrides:
      getRevision in class AbstractAssociator
      Returns:
      the revision
    • main

      public static void main(String[] args)
      Main method.
      Parameters:
      args - the commandline parameters