|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectweka.associations.Associator
weka.associations.Tertius
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)
Field Summary | |
private static int |
ALL
|
private static int |
BODY
|
static int |
EXPLICIT
Ways of handling missing values. |
private static int |
HEAD
|
static int |
IMPLICIT
|
private int |
m_best
Number of best confirmation values to search. |
private boolean |
m_classification
Classification bias. |
private int |
m_classIndex
Index of class attribute. |
private double |
m_confirmationThreshold
Confirmation threshold for the rules. |
private boolean |
m_equivalent
Perform test on equivalent rules ? |
private int |
m_explored
Number of hypotheses explored. |
private double |
m_frequencyThreshold
Frequency threshold for the body and the negation of the head. |
private boolean |
m_horn
Horn clauses bias. |
private int |
m_hypotheses
Number of hypotheses considered. |
private Instances |
m_instances
Instances used for the search. |
private int |
m_missing
Way of handling missing values in the search. |
private int |
m_negation
Type of negation used in the rules. |
private double |
m_noiseThreshold
Maximal number of counter-instances. |
private int |
m_numLiterals
Number of literals in a rule. |
private Instances |
m_parts
Part instances for individual-based learning. |
private java.lang.String |
m_partsString
Name of the file containing the parts for individual-based learning. |
private java.util.ArrayList |
m_predicates
Predicates used in the rules. |
private int |
m_printValues
Type of values output. |
private boolean |
m_repeat
Repeat attributes ? |
private SimpleLinkedList |
m_results
The results. |
private boolean |
m_roc
Perform ROC analysis ? |
private boolean |
m_sameClause
Perform test on same clauses ? |
private int |
m_status
Status of the search. |
private boolean |
m_subsumption
Perform subsumption test ? |
private java.util.Date |
m_time
Time needed for the search. |
private java.awt.TextField |
m_valuesText
Field to output the current values. |
private static int |
MEMORY
|
private static int |
NO
|
private static int |
NONE
Types of negation. |
private static int |
NORMAL
|
private static int |
OUT
|
static int |
SIGNIFICANT
|
private static int |
STOP
|
private static Tag[] |
TAGS_MISSING
|
private static Tag[] |
TAGS_NEGATION
|
private static Tag[] |
TAGS_VALUES
|
private static int |
WINDOW
|
Constructor Summary | |
Tertius()
Constructor that sets the options to the default values. |
Method Summary | |
private void |
addResult(Rule rule)
Add a rule in the appropriate place in the list of the results, according to the confirmation and number of counter-instances of the rule. |
private void |
beginSearch()
Begin the search by starting a new thread. |
void |
buildAssociations(Instances instances)
Method that launches the search to find the rules with the highest confirmation. |
private Predicate |
buildPredicate(Instances instances,
Attribute attr,
boolean isClass)
Build the predicate corresponding to an attribute. |
private java.util.ArrayList |
buildPredicates()
|
private boolean |
canCalculateConfirmation(Rule rule)
Test if it is worth calculating the confirmation of a rule. |
private boolean |
canCalculateOptimistic(Rule rule)
Test if it is worth calculating the optimistic estimate of a rule. |
private boolean |
canExplore(Rule rule)
Test if a rule can be explored (if it is interesting for the results or for refining). |
private boolean |
canRefine(Rule rule)
Test if it is worth refining a rule. |
private boolean |
canStoreInNodes(Rule rule)
Test if a rule can be stored in the agenda. |
private boolean |
canStoreInResults(Rule rule)
Test if a rule can be added to the results. |
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. |
private void |
endSearch()
End the search by notifying to the waiting thread that it is finished. |
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. |
private int |
numValuesInResult()
Count the number of distinct confirmation values in the results. |
java.lang.String |
partFileTipText()
Returns the tip text for this property. |
private void |
printValues()
Print the current best and worst values. |
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 |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
private SimpleLinkedList m_results
private int m_hypotheses
private int m_explored
private java.util.Date m_time
private java.awt.TextField m_valuesText
private Instances m_instances
private java.util.ArrayList m_predicates
private int m_status
private static final int NORMAL
private static final int MEMORY
private static final int STOP
private int m_best
private double m_frequencyThreshold
private double m_confirmationThreshold
private double m_noiseThreshold
private boolean m_repeat
private int m_numLiterals
private static final int NONE
private static final int BODY
private static final int HEAD
private static final int ALL
private static final Tag[] TAGS_NEGATION
private int m_negation
private boolean m_classification
private int m_classIndex
private boolean m_horn
private boolean m_equivalent
private boolean m_sameClause
private boolean m_subsumption
public static final int EXPLICIT
public static final int IMPLICIT
public static final int SIGNIFICANT
private static final Tag[] TAGS_MISSING
private int m_missing
private boolean m_roc
private java.lang.String m_partsString
private Instances m_parts
private static final int NO
private static final int OUT
private static final int WINDOW
private static final Tag[] TAGS_VALUES
private int m_printValues
Constructor Detail |
public Tertius()
Method Detail |
public java.lang.String globalInfo()
public void resetOptions()
public java.util.Enumeration listOptions()
listOptions
in interface OptionHandler
public void setOptions(java.lang.String[] options) throws java.lang.Exception
setOptions
in interface OptionHandler
options
- The list of options as an array of strings.
java.lang.Exception
- if an option is not supported.public java.lang.String[] getOptions()
getOptions
in interface OptionHandler
public java.lang.String confirmationValuesTipText()
public int getConfirmationValues()
public void setConfirmationValues(int v) throws java.lang.Exception
v
- Value to assign to confirmationValues.
java.lang.Exception
public java.lang.String frequencyThresholdTipText()
public double getFrequencyThreshold()
public void setFrequencyThreshold(double v)
v
- Value to assign to frequencyThreshold.public java.lang.String confirmationThresholdTipText()
public double getConfirmationThreshold()
public void setConfirmationThreshold(double v)
v
- Value to assign to confirmationThreshold.public java.lang.String noiseThresholdTipText()
public double getNoiseThreshold()
public void setNoiseThreshold(double v)
v
- Value to assign to noiseThreshold.public java.lang.String repeatLiteralsTipText()
public boolean getRepeatLiterals()
public void setRepeatLiterals(boolean v)
v
- Value to assign to repeatLiterals.public java.lang.String numberLiteralsTipText()
public int getNumberLiterals()
public void setNumberLiterals(int v)
v
- Value to assign to numberLiterals.public java.lang.String negationTipText()
public SelectedTag getNegation()
public void setNegation(SelectedTag v)
v
- Value to assign to negation.public java.lang.String classificationTipText()
public boolean getClassification()
public void setClassification(boolean v)
v
- Value to assign to classification.public java.lang.String classIndexTipText()
public int getClassIndex()
public void setClassIndex(int v)
v
- Value to assign to classIndex.public java.lang.String hornClausesTipText()
public boolean getHornClauses()
public void setHornClauses(boolean v)
v
- Value to assign to hornClauses.public java.lang.String equivalentTipText()
public boolean disabled_getEquivalent()
public void disabled_setEquivalent(boolean v)
v
- Value to assign to equivalent.public java.lang.String sameClauseTipText()
public boolean disabled_getSameClause()
public void disabled_setSameClause(boolean v)
v
- Value to assign to sameClause.public java.lang.String subsumptionTipText()
public boolean disabled_getSubsumption()
public void disabled_setSubsumption(boolean v)
v
- Value to assign to subsumption.public java.lang.String missingValuesTipText()
public SelectedTag getMissingValues()
public void setMissingValues(SelectedTag v)
v
- Value to assign to missingValues.public java.lang.String rocAnalysisTipText()
public boolean getRocAnalysis()
public void setRocAnalysis(boolean v)
v
- Value to assign to rocAnalysis.public java.lang.String partFileTipText()
public java.io.File disabled_getPartFile()
public void disabled_setPartFile(java.io.File v) throws java.lang.Exception
v
- Value to assign to partFile.
java.lang.Exception
public java.lang.String valuesOutputTipText()
public SelectedTag getValuesOutput()
public void setValuesOutput(SelectedTag v)
v
- Value to assign to valuesOutput.private Predicate buildPredicate(Instances instances, Attribute attr, boolean isClass) throws java.lang.Exception
instances
- The instances this predicates comes from.attr
- The attribute this predicate corresponds to.isClass
- Saying if the attribute is the class attribute.
java.lang.Exception
- if the predicate could not be build
(the attribute is numeric).private java.util.ArrayList buildPredicates() throws java.lang.Exception
java.lang.Exception
private int numValuesInResult()
private boolean canRefine(Rule rule)
rule
- The rule to consider.
private boolean canCalculateOptimistic(Rule rule)
rule
- The rule to consider.
private boolean canExplore(Rule rule)
rule
- The rule to consider.
private boolean canStoreInNodes(Rule rule)
rule
- The rule to consider.
private boolean canCalculateConfirmation(Rule rule)
rule
- The rule to consider.
private boolean canStoreInResults(Rule rule)
rule
- The rule to consider.
private void addResult(Rule rule)
Subsumption tests are performed and the rule may not be added.
Previous results may also be removed because of sumption.
public void buildAssociations(Instances instances) throws java.lang.Exception
buildAssociations
in class Associator
instances
- The instances to be used for generating the rules.
java.lang.Exception
- if rules can't be built successfully.public void run()
run
in interface java.lang.Runnable
private void beginSearch() throws java.lang.Exception
java.lang.Exception
private void endSearch()
public void search()
private void printValues()
public java.lang.String toString()
public static void main(java.lang.String[] options)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |