This chapter demonstrates a classification algorithm augmented by a clustering pre-processor.
Clustering algorithms aid in classification by
grouping like data together. This grouping helps to reduce the noise
in the data, thereby reducing the false alarm rate\cite{WhyCluster}.
Current clustering algorithms have a high order polynomial run-time,
usually in the form of $O(n^2)$ or
higher\cite{CoverTrees,BallTrees}. Other clustering algorithms have
faster run-times, but have execution time parameters that need to be tuned
to each specific dataset\cite{KMeans}. One of the goals of Clump was to provide a clustering mechanism that runs in much less than the standard $O(n^2)$ runtime. I propose a self tuning
clustering algorithm that runs in low order polynomial time.

The proposed new algorithm is called Clump, standing for \textbf{CLU}stering on \textbf{M}any \textbf{P}redicates. This solution provides a method for the domain expert to
create, audit, and modify the decision tree. By allowing the end user
to oversee the creation of the decision tree, Clump provides a
mechanism to repair broken rules, and provide domain specific
insight. The rule tree also expands as needed, in response to the
current intra-node entropy\label{pg:clump-entropy}\footnote{For Clump, entropy is used to
represent a mix of different classes in a general sense, not in the
standard entropy calculation. The equation used is shown in \eq{scoring} - \eq{scoringLast}}. The entropy, or scoring function, is used to determine which attribute value pair the tree will use to expand on. This automated growth removes the
necessity of dataset specific parameters from configuring the
learner and training on the data.

With most clustering algorithms\cite{KDTrees,CoverTrees,BallTrees},
the Euclidean distance between two instances is used as the nearness
function. When a group of instances have a small Euclidean distance
when compared to other instances in that group, they form a
cluster. Depending on the clustering algorithm, there can be
sub-clusters\cite{BallTrees}.

With Clump's human maintainability, it gains the benefit of expert
systems with the generation speed of automated clustering. The
following sections will describe Clump as it pertains to automated
generation, and compare it to other rule based and statistical
learners. Options for human maintainability are left for future work.
