\subsection{Contrast Set Learning}

Contrast set learning is a quality optimization technique that provides the ability to distinguish the differences between two populations. The desire to incorporate CSL decision making into case based reasoning quality optimization software was the motivation for {\W}'s initial development. In essence, {\W} was designed as a case based reasoner with the added ability of performing contrast set learning. {\W}'s case relevancy filtering was improved upon in {\W}2 by replacing the k-th nearest neighbor computations with a simple, linear time, overlap method.

\subsection{{\W}2 Algorithm}

To perform its function, {\W}2 requires two sets of data: a training dataset and a project description or test case. Once this information becomes available, {\W}2 randomly splits the dataset into 67\% training cases and 33\% testing cases. The training instance set is then put through relevancy filtering so as to retrieve only those cases with enough overlap to the test case. The resulting set of projects is sorted using some metric of utility and split into a best set and a rest set. {\W}2 then proceeds to generate a contrast set that it uses to find the specific attributes which most push the test project towards the desired utility measures. At this point {\W}2 takes the attribute recommendations from its previous step and estimates their success at improving the test instance. Upon exiting, {\W}2 outputs the attribute recommendations it thinks are most likely to lead the test project towards optimization.
