weka.associations
Class FPGrowth.AssociationRule

java.lang.Object
  extended by weka.associations.FPGrowth.AssociationRule
All Implemented Interfaces:
java.io.Serializable, java.lang.Comparable<FPGrowth.AssociationRule>
Enclosing class:
FPGrowth

public static class FPGrowth.AssociationRule
extends java.lang.Object
implements java.io.Serializable, java.lang.Comparable<FPGrowth.AssociationRule>

Author:
mhall
See Also:
Serialized Form

Nested Class Summary
static class FPGrowth.AssociationRule.METRIC_TYPE
          Enum for holding different metric types
 
Field Summary
static Tag[] TAGS_SELECTION
          Tags for display in the GUI
 
Constructor Summary
FPGrowth.AssociationRule(java.util.Collection<FPGrowth.BinaryItem> premise, java.util.Collection<FPGrowth.BinaryItem> consequence, FPGrowth.AssociationRule.METRIC_TYPE metric, int premiseSupport, int consequenceSupport, int totalSupport, int totalTransactions)
          Construct a new association rule.
 
Method Summary
 int compareTo(FPGrowth.AssociationRule other)
          Compare this rule to the supplied rule.
 boolean equals(java.lang.Object other)
          Return true if this rule is equal to the supplied one.
static java.util.List<FPGrowth.AssociationRule> generateRulesBruteForce(weka.associations.FPGrowth.FrequentItemSets largeItemSets, FPGrowth.AssociationRule.METRIC_TYPE metricToUse, double metricThreshold, int totalTransactions)
          Generate all association rules, from the supplied frequet item sets, that meet a given minimum metric threshold.
 java.util.Collection<FPGrowth.BinaryItem> getConsequence()
          Get the consequence of this rule.
 int getConsequenceSupport()
          Get the support for the consequence.
 FPGrowth.AssociationRule.METRIC_TYPE getMetricType()
          Get the metric type of this rule (e.g.
 double getMetricValue()
          Get the value of the metric for this rule.
 java.util.Collection<FPGrowth.BinaryItem> getPremise()
          Get the premise of this rule.
 int getPremiseSupport()
          Get the support for the premise.
 int getTotalSupport()
          Get the total support for this rule (premise + consequence).
 int getTotalTransactions()
          Get the total number of transactions in the data.
 java.lang.String toString()
          Get a textual description of this rule.
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

TAGS_SELECTION

public static final Tag[] TAGS_SELECTION
Tags for display in the GUI

Constructor Detail

FPGrowth.AssociationRule

public FPGrowth.AssociationRule(java.util.Collection<FPGrowth.BinaryItem> premise,
                                java.util.Collection<FPGrowth.BinaryItem> consequence,
                                FPGrowth.AssociationRule.METRIC_TYPE metric,
                                int premiseSupport,
                                int consequenceSupport,
                                int totalSupport,
                                int totalTransactions)
Construct a new association rule.

Parameters:
premise - the premise of the rule
consequence - the consequence of the rule
metric - the metric for the rule
premiseSupport - the support of the premise
consequenceSupport - the support of the consequence
totalSupport - the total support of the rule
totalTransactions - the number of transactions in the data
Method Detail

getPremise

public java.util.Collection<FPGrowth.BinaryItem> getPremise()
Get the premise of this rule.

Returns:
the premise of this rule.

getConsequence

public java.util.Collection<FPGrowth.BinaryItem> getConsequence()
Get the consequence of this rule.

Returns:
the consequence of this rule.

getMetricType

public FPGrowth.AssociationRule.METRIC_TYPE getMetricType()
Get the metric type of this rule (e.g. confidence).

Returns:
the metric type of this rule.

getMetricValue

public double getMetricValue()
Get the value of the metric for this rule.

Returns:
the value of the metric for this rule.

getPremiseSupport

public int getPremiseSupport()
Get the support for the premise.

Returns:
the support for the premise.

getConsequenceSupport

public int getConsequenceSupport()
Get the support for the consequence.

Returns:
the support for the consequence.

getTotalSupport

public int getTotalSupport()
Get the total support for this rule (premise + consequence).

Returns:
the total support for this rule.

getTotalTransactions

public int getTotalTransactions()
Get the total number of transactions in the data.

Returns:
the total number of transactions in the data.

compareTo

public int compareTo(FPGrowth.AssociationRule other)
Compare this rule to the supplied rule.

Specified by:
compareTo in interface java.lang.Comparable<FPGrowth.AssociationRule>
Parameters:
other - the rule to compare to.
Returns:
the result of the comparison.

equals

public boolean equals(java.lang.Object other)
Return true if this rule is equal to the supplied one.

Overrides:
equals in class java.lang.Object
Returns:
true if this rule is the same as the supplied rule.

toString

public java.lang.String toString()
Get a textual description of this rule.

Overrides:
toString in class java.lang.Object
Returns:
a textual description of this rule.

generateRulesBruteForce

public static java.util.List<FPGrowth.AssociationRule> generateRulesBruteForce(weka.associations.FPGrowth.FrequentItemSets largeItemSets,
                                                                               FPGrowth.AssociationRule.METRIC_TYPE metricToUse,
                                                                               double metricThreshold,
                                                                               int totalTransactions)
Generate all association rules, from the supplied frequet item sets, that meet a given minimum metric threshold. Uses a brute force approach.

Parameters:
largeItemSets - the set of frequent item sets
metricToUse - the metric to use
metricThreshold - the threshold value that a rule must meet
totalTransactions - the total number of transactions in the data
Returns:
a list of association rules