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 classFPGrowth.AssociationRule.METRIC_TYPEEnum for holding different metric types
-
Field Summary
Fields Modifier and Type Field Description static Tag[]TAGS_SELECTIONTags 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 intcompareTo(FPGrowth.AssociationRule other)Compare this rule to the supplied rule.booleancontainsItems(java.util.ArrayList<Attribute> items, boolean useOr)booleanequals(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.intgetConsequenceSupport()Get the support for the consequence.FPGrowth.AssociationRule.METRIC_TYPEgetMetricType()Get the metric type of this rule (e.g.doublegetMetricValue()Get the value of the metric for this rule.java.util.Collection<FPGrowth.BinaryItem>getPremise()Get the premise of this rule.intgetPremiseSupport()Get the support for the premise.intgetTotalSupport()Get the total support for this rule (premise + consequence).intgetTotalTransactions()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.StringtoString()Get a textual description of this rule.java.lang.StringtoXML()
-
-
-
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:
compareToin 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:
equalsin 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:
toStringin 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)
-
-