Package weka.associations

# Class FPGrowth.AssociationRule

java.lang.Object
weka.associations.FPGrowth.AssociationRule

All Implemented Interfaces:
  `Serializable`, `Comparable<FPGrowth.AssociationRule>`

Enclosing class:
  `FPGrowth`

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

Author:
  mhall
See Also:
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static enum`
`FPGrowth.AssociationRule.METRIC_TYPE`
Enum for holding different metric types

## Field Summary

Fields
Modifier and Type
Field
Description
`static final Tag[]`
`TAGS_SELECTION`
Tags for display in the GUI

## Constructor Summary

Constructors
Constructor
Description
`AssociationRule(Collection<FPGrowth.BinaryItem> premise, Collection<FPGrowth.BinaryItem> consequence, FPGrowth.AssociationRule.METRIC_TYPE metric, int premiseSupport, int consequenceSupport, int totalSupport, int totalTransactions)`
Construct a new association rule.

## Method Summary

Modifier and Type
Method
Description
`int`
`compareTo(FPGrowth.AssociationRule other)`
Compare this rule to the supplied rule.
`boolean`
`containsItems(ArrayList<Attribute> items, boolean useOr)`
`boolean`
`equals(Object other)`
Return true if this rule is equal to the supplied one.
`static 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.
`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.
`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 List<FPGrowth.AssociationRule>`
`pruneRules(List<FPGrowth.AssociationRule> rulesToPrune, ArrayList<Attribute> itemsToConsider, boolean useOr)`
`String`
`toString()`
Get a textual description of this rule.
`String`
`toXML()`

### Methods inherited from class java.lang.Object

`getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Field Details

### TAGS_SELECTION

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

## Constructor Details

### AssociationRule

public AssociationRule(Collection<FPGrowth.BinaryItem> premise, 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 Details

### getPremise

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

Returns:
  the premise of this rule.

### getConsequence

public 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 `Comparable<FPGrowth.AssociationRule>`
Parameters:
  `other` - the rule to compare to.
Returns:
  the result of the comparison.

### equals

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

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

### containsItems

public boolean containsItems(ArrayList<Attribute> items, boolean useOr)

### toString

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

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

### toXML

public String toXML()

### generateRulesBruteForce

public static 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 sets
  `metricToUse` - the metric to use
  `metricThreshold` - the threshold value that a rule must meet
  `upperBoundMinSuppAsInstances` - the upper bound on the support in order to accept the rule
  `lowerBoundMinSuppAsInstances` - the lower bound on the support in order to accept the rule
  `totalTransactions` - the total number of transactions in the data
Returns:
  a list of association rules

### pruneRules

public static List<FPGrowth.AssociationRule> pruneRules(List<FPGrowth.AssociationRule> rulesToPrune, ArrayList<Attribute> itemsToConsider, boolean useOr)