ADtrees for Fast Counting and for Fast Learning of Association Rules - Robotics Institute Carnegie Mellon University

ADtrees for Fast Counting and for Fast Learning of Association Rules

Brigham Anderson and Andrew Moore
Journal Article, 4th International Conference on Knowledge Discovery and Data Mining (KDD '98), pp. 134 - 138, August, 1998

Abstract

The problem of discovering association rules in large databases has received considerable research attention. Much research has examined the exhaustive discovery of all association rules involving positive binary literals (e.g. Agrawal et al. 1996). Other research has concerned finding complex association rules for high-arity attributes such as CN2 (Clark and Niblett 1989). Complex association rules are capable of representing concepts such as "Purchased-Chips=True and PurchasedSoda=False and Area=NorthEast and CustomerType=Occasional ⇒ AgeRange=Young", but their generality comes with severe computational penalties (intractable numbers of preconditions can have large support). Here, we introduce new algorithms by which a sparse data structure called the ADtree, introduced in (Moore and Lee 1997), can accelerate the finding of complex association rules from large datasets. The ADtree uses the algebra of probability tables to cache a dataset's sufficient statistics within a tractable amount of memory. We first introduce a new ADtree algorithm for quickly counting the number of records that match a precondition. We then show how this can be used in accelerating exhaustive search for rules, and for accelerating CN2-type algorithms. Results are presented on a variety of datasets involving many records and attributes. Even taking the costs of initially building the ADtree into account, the computational speedups can be dramatic.

BibTeX

@article{Anderson-1998-14733,
author = {Brigham Anderson and Andrew Moore},
title = {ADtrees for Fast Counting and for Fast Learning of Association Rules},
journal = {4th International Conference on Knowledge Discovery and Data Mining (KDD '98)},
year = {1998},
month = {August},
pages = {134 - 138},
}