Package weka.associations
Class FPGrowth.AssociationRule
- java.lang.Object
-
- 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
Nested Classes Modifier and Type Class Description static class
FPGrowth.AssociationRule.METRIC_TYPE
Enum for holding different metric types
-
Field Summary
Fields Modifier and Type Field Description static Tag[]
TAGS_SELECTION
Tags for display in the GUI
-
Constructor Summary
Constructors Constructor Description 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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description int
compareTo(FPGrowth.AssociationRule other)
Compare this rule to the supplied rule.boolean
containsItems(java.util.ArrayList<Attribute> items, boolean useOr)
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 upperBoundMinSuppAsInstances, int lowerBoundMinSuppAsInstances, 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.static java.util.List<FPGrowth.AssociationRule>
pruneRules(java.util.List<FPGrowth.AssociationRule> rulesToPrune, java.util.ArrayList<Attribute> itemsToConsider, boolean useOr)
java.lang.String
toString()
Get a textual description of this rule.java.lang.String
toXML()
-
-
-
Field Detail
-
TAGS_SELECTION
public static final Tag[] TAGS_SELECTION
Tags for display in the GUI
-
-
Constructor Detail
-
AssociationRule
public 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 ruleconsequence
- the consequence of the rulemetric
- the metric for the rulepremiseSupport
- the support of the premiseconsequenceSupport
- the support of the consequencetotalSupport
- the total support of the ruletotalTransactions
- 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 interfacejava.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 classjava.lang.Object
- Returns:
- true if this rule is the same as the supplied rule.
-
containsItems
public boolean containsItems(java.util.ArrayList<Attribute> items, boolean useOr)
-
toString
public java.lang.String toString()
Get a textual description of this rule.- Overrides:
toString
in classjava.lang.Object
- Returns:
- a textual description of this rule.
-
toXML
public java.lang.String toXML()
-
generateRulesBruteForce
public static java.util.List<FPGrowth.AssociationRule> generateRulesBruteForce(weka.associations.FPGrowth.FrequentItemSets largeItemSets, FPGrowth.AssociationRule.METRIC_TYPE metricToUse, double metricThreshold, int upperBoundMinSuppAsInstances, int lowerBoundMinSuppAsInstances, 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 setsmetricToUse
- the metric to usemetricThreshold
- the threshold value that a rule must meetupperBoundMinSuppAsInstances
- the upper bound on the support in order to accept the rulelowerBoundMinSuppAsInstances
- the lower bound on the support in order to accept the ruletotalTransactions
- the total number of transactions in the data- Returns:
- a list of association rules
-
pruneRules
public static java.util.List<FPGrowth.AssociationRule> pruneRules(java.util.List<FPGrowth.AssociationRule> rulesToPrune, java.util.ArrayList<Attribute> itemsToConsider, boolean useOr)
-
-