This chapter consists of three different parts.  \sect{overview} gives a broad overview of all we have discussed in this thesis. \sect{conclusions}
gives our conclusions we arrived at given the results of our experiments.  And \sect{futurework} describes a few changes that could be done to the
Which learner that might possible improve its performance.

\section{Overview}
\label{overview}
In this thesis we have discussed several different facets of machine learning. We have discussed some of the different classical learners such
as J48, \nbc, and Ripper.  We have discussed different sampling and testing policies such under$-$sampling and cross$-$validations.  This thesis
has discussed lift learning and how it fits into the realm of classification learning.  We have disussed some of the different types of
discretization methods that are used in this field.  We have discussed some of the evaulation methods such as sum of differences, quartile charts
and MannWhitney U$-$Tests that are used in the field of machine learning.

We have discussed in detail a lot of the properties of software defect detection as well as the performance of other experiments in the field.  We
have introduced a novel evaluation concept known as the Koru Diagram that allows for quick identification of standout performance effects.  We experiments
with a relatively new concept known as micro$-$sampling.

The following are our conclusions about the results of the performance of our novel machine learner, Which, as well as the effects of fine$-$tuning
a machine learner to the business task at hand.

\section{Findings}
\label{conclusions}
Many of the results when discussing the classic machine learners appear to align with the general conclusions that of the classic machine learners,
\nbc performs the best\cite{staticlearn}.  We also show that the simplification of TAR3's rule creations process into Which's does not lower the
performance of Which comapred to TAR3.

It is interesting that Which performs very well in the field of defect detection, but not entirely suprising.  It can be seen from the various
experiments that Which with a simple equal frequency discretization policy outperforms all of the classic machine learners by a large margin.
We have explained potential answers to this, but the most intuitive answer is that Which's rule creation heuristic, $h_{balance}$, is fine$-$tuned
for the work in this field.  $H_{balance}$ attempts to maximize the rules to be as close to $(0,1)$ as possible on the Koru Diagram, which is what
we evaluating the performance of the machine learners on in the end.  We have shown by this that being able to fine$-$tune a machine learner
for the business task.

We have taken a fairly recent discovery in subsampling known as micro$-$sampling and shown its performance compared to the standard sized data set.
While we did not show any improvement aside from once special case, we did show that it did not hurt the performance of the machine learner in most
cases.  This provides useful insight on the amount of data required to effectively learn a prediction rule.

We conclude from all of these experiments that very simply machine learners can perform very well when they are fine$-$tuned for the business task.
It is because of this that we recommend stepping away from the classic machine learners in the are of defect detection and moving more towards
specialized software.

\section{Future Work}
\label{futurework}
Thoughout this thesis there have been a few mentions of potential improvements or modifications to the Which algorithm.  The following few paragraphs
describe some of these potential improvements.

In the experiment of \sect{multiclass} a glaring weakness in the potential of lift learners was exploited to illustrate the weakness.  We consider
the notion that it is entirely possible to create a wrapper around the Which algorithm that could be used to create a classification rule set.  This
wrapper could simply order the classes in the set in a different way for each call of the Which algorithm.  The rules that are created for each
of these classes could then be interpreted as a rule set that could then be used for the classification processes.  This idea would need extensive
testing and potential tweaking to be shown to be valid, and if it is valid would be an excellent improvemnt to the weakness machine learners like
Which have for accuracy.

Another future work topic that was mentioned in \chap{which} is the possibility to use the Which algorithm with some specialized heuristics
to discretize the data.  The basic idea here would be to divide the data up into a very large number of bins to begin with.  Using some
heuristic for growing, Which could then attempt to combine the bins of attributes in isolation to create the proper bin ranges and amount
of bins for each attribute.  This experiment could potentially bring to question the common belief that bins of discretized data
need to be contiguous bits of numbers.  With the Which discretization method, it is entirely possible for $[1..5)\wedge[9...15)$ to be considered
one bin.  Extensive experiments could then be made that compare the performance of the classic learners with standard discretization practices
to the classic leaners with this novel discretization method.

A possibility for other experiments exists in the parameters of Which.  While we performed some rudimentary experiments on the effects of stack size.
There are plenty of combonations of parameters that could be tested to attempt to maximize the performance of Which.  An example of this is the
effects of the CheckEvery and Improvement parameters on data sets with larger and smaller search spaces.  It is entirely possible that this phenomenon
of the plateau effect that we showed in \chap{experiments} is limited to restricted search spaces.