weka.associations

## Class AssociationRule

- java.lang.Object
- - weka.associations.AssociationRule

- All Implemented Interfaces:
    java.lang.Comparable<AssociationRule>
  Direct Known Subclasses:
    DefaultAssociationRule

      public abstract class AssociationRule
      extends java.lang.Object
      implements java.lang.Comparable<AssociationRule>

  Abstract class for storing and manipulating an association rule.
  Version:
    $Revision: 8034 $
  Author:
    Mark Hall (mhall{[at]}pentaho{[dot]}com).

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `AssociationRule()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `compareTo(AssociationRule other)` Compare this rule to the supplied rule.
    `boolean` | `containsItems(java.util.ArrayList<Item> items, boolean useOr)`
    `boolean` | `equals(java.lang.Object other)` Return true if this rule is equal to the supplied one.
    `abstract java.util.Collection<Item>` | `getConsequence()` Get the consequence of this rule.
    `abstract int` | `getConsequenceSupport()` Get the support for the consequence.
    `abstract java.lang.String[]` | `getMetricNamesForRule()` Return the names of the metrics available for this rule.
    `abstract double[]` | `getMetricValuesForRule()` Get all the available metric values for this rule.
    `abstract double` | `getNamedMetricValue(java.lang.String metricName)` Get the value of the named metric for this rule
    `abstract int` | `getNumberOfMetricsForRule()` Gets the number of metrics available for this rule.
    `abstract java.util.Collection<Item>` | `getPremise()` Get the premise of this rule.
    `abstract int` | `getPremiseSupport()` Get the support for the premise.
    `abstract java.lang.String` | `getPrimaryMetricName()` Get the name of the primary metric of this rule (e.g.
    `abstract double` | `getPrimaryMetricValue()` Get the value of the metric for this rule.
    `abstract int` | `getTotalSupport()` Get the total support for this rule (premise + consequence).
    `abstract int` | `getTotalTransactions()` Get the total number of transactions in the data.

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

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

- - ### Constructor Detail

    - #### AssociationRule

          public AssociationRule()

  - ### Method Detail

    - #### getPremise

          public abstract java.util.Collection<Item> getPremise()

      Get the premise of this rule.
      Returns:
        the premise of this rule.

    - #### getConsequence

          public abstract java.util.Collection<Item> getConsequence()

      Get the consequence of this rule.
      Returns:
        the consequence of this rule.

    - #### getPrimaryMetricName

          public abstract java.lang.String getPrimaryMetricName()

      Get the name of the primary metric of this rule (e.g. confidence).
      Returns:
        the name of the primary metric of this rule.

    - #### getPrimaryMetricValue

          public abstract double getPrimaryMetricValue()

      Get the value of the metric for this rule.
      Returns:
        the value of the metric for this rule.

    - #### getNamedMetricValue

          public abstract double getNamedMetricValue(java.lang.String metricName)
                                              throws java.lang.Exception

      Get the value of the named metric for this rule
      Parameters:
        `metricName` - the metric to get the value for
      Returns:
        the value of the named metric
      Throws:
        `java.lang.Exception` - if the requested metric is unknown for this rule

    - #### getNumberOfMetricsForRule

          public abstract int getNumberOfMetricsForRule()

      Gets the number of metrics available for this rule.
      Returns:
        the number of metrics available for this rule

    - #### getMetricNamesForRule

          public abstract java.lang.String[] getMetricNamesForRule()

      Return the names of the metrics available for this rule.
      Returns:
        the names of the metrics that are available for this rule.

    - #### getMetricValuesForRule

          public abstract double[] getMetricValuesForRule()
                                                   throws java.lang.Exception

      Get all the available metric values for this rule. Values are returned in an array with entries that correspond to the metric names returned by getMetricNamesForRule().
      Returns:
        all the available metrics for this rule.
      Throws:
        `java.lang.Exception` - if a metric can't be computed for some reason.

    - #### getPremiseSupport

          public abstract int getPremiseSupport()

      Get the support for the premise.
      Returns:
        the support for the premise.

    - #### getConsequenceSupport

          public abstract int getConsequenceSupport()

      Get the support for the consequence.
      Returns:
        the support for the consequence.

    - #### getTotalSupport

          public abstract int getTotalSupport()

      Get the total support for this rule (premise + consequence).
      Returns:
        the total support for this rule.

    - #### getTotalTransactions

          public abstract int getTotalTransactions()

      Get the total number of transactions in the data.
      Returns:
        the total number of transactions in the data.

    - #### compareTo

          public int compareTo(AssociationRule other)

      Compare this rule to the supplied rule.
      Specified by:
        `compareTo` in interface `java.lang.Comparable<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.

    - #### containsItems

          public boolean containsItems(java.util.ArrayList<Item> items,
                              boolean useOr)