\input{figures/exampleTree}
Clump is a variation of the traditional Ripple Down Rule classifier. Clump was developed at West Virginia University to address some weaknesses noted in traditional locality based learners. It is used here as a possible alternative classifier. Clump is used as a clusterer with final classification being accomplished by Naive Bayes. The details of Ripple Down Rules that clump is based on is described in \tion{RIDOR}.

With Clump, if the amount of entropy\footnote{Entropy is used to
represent a mix of different classes in a general sense, not in the
standard entropy calculation} in a node exceeds a threshold value, a
patch is created to reduce the intra-node entropy. Like Ripple Down
Rule trees, the clusters made by Clump are also human
maintainable.  \fig{exampleTree} shows a sample rule tree generated by
Clump.

Clump differs from standard clusterers. Most clustering algorithms group
rows based on the Euclidean distance between two rows or cluster
centroids\cite{KMeans,BallTrees,CoverTrees,KDTrees}. This Euclidean
distance (\eq{standard}) is determined by the combined absolute value
of the delta between the two rows or the row and the centroid.
\begin{equation}
\displaystyle\sum_{x=0}^k \Delta(\left| row_1[attribute_x] -
row_2[attribute_x]\right|)
\label{eq:standard}
\end{equation}
\begin{equation}\label{eq:scoring}
  P_{true} = \frac{F_{true} \mid v}{F_{true}}
\end{equation}
\begin{equation}
  P_{false} = \frac{F_{false} \mid v}{F_{false}}
\end{equation}
\begin{equation}
  Score_{true} = \frac{P_{true}}{P_{true} + P_{false}}
\end{equation}
\begin{equation}\label{eq:scoringLast}
  Score_{false} = \frac{P_{false}}{P_{ture} + P_{false}}
\end{equation}
Clump accomplishes its clustering, not by Euclidean distance, but by how
relevant a particular feature is in splitting the data. The exact
equations used in determining the relevancy of a give attribute are
shown in \eq{scoring} - \eq{scoringLast}. Grouping
data by relevancy accomplishes much the same as grouping data by
Euclidean distance, while automatically performing column pruning. Clustering on attribute relevancy provides other benefits as well. There is an
explanation as to why a particular instance belongs to a particular
cluster. Also, the standard $n^2$ runtime of clustering algorithms is
avoided because decisions made in generating the tree are made in
respect to each row as its being examined, not to every row as each
row is being examined.

\input{figures/clumpPseudoCode}
Rule trees offer a significant advantage to frequency count learners
such as Naive Bayes:
\begin{quote}
Rule trees offer not just answers, they offer explanation.
\end{quote}

Unlike Ripple Down Rules, Clump is not used for
classification, but for clustering. Clump is used to find the structure
within the data while avoiding the standard $O(n^2)$ clustering
algorithms. While testing, Naive Bayes is used to do the classifying
once the data has been limited by Clump as a clusterer.

\subsection{Clump Versus the Burak Filter}
The main difference between Clump and the Burak filter is that the Burak filter returns k instances each time it is used while other clustering methods like Cover Trees (described in \tion{coverTrees}), KD-Trees, (\tion{KDTrees}), and Ball Trees (\tion{ballTrees}) return a variable number of instances for each cluster.
Enforcing a value of k can cause unwanted data to
be gathered, or useful data to be set aside. If the testing row falls
in a very specific region of the n dimensional space where few other
instances fall, rows that are distant from the testing example can be
included in training the final classifier to satisfy the desired k value. Likewise, if the testing
row falls in a highly populated area, many useful rows can be left
behind. Clump overcomes this by including only the rows which are
similar to the testing row according to the rule tree generated during
training.
