\subsection*{Utility Functions I}


\begin{centering}
\small
\begin{tabular}{|p{1.0in}|p{2.5in}|p{2in}|p{2.5in}|}
\hline
Function Name & Description & Usage \\ \hline
abcd & Performs confusion matrix computations on any classifier output. 
This includes statistics such as \$pd, \$pf, \$accuracy, \$balance and \$f-measure 
 & {\em | abcd --prefix --goal}, where $prefix$ refers to a string to be inserted 
before the result of the $abcd$ function, and $goal$ is the desired class of 
a specific instance. \\ \hline
arffToLisp & Converts a single .arff file into an equivalent .lisp file & {\em arffToLisp \$dataset.arff} \\ \hline
blab & Prints to the screen using a separate environment. This provides the ability to 
print to the screen without the output interfering with the results of an experiment & 
{\em blab \$message} \\ \hline
blabln & The same as blab, except this will print a new line after the given output & 
{\em blabln \$message} \\ \hline
\end{tabular}
\newpage
\end{centering}

\begin{centering}
\small
\begin{tabular}{|p{1.0in}|p{2.5in}|p{2in}|p{2.5in}|}
\hline
docsToSparff & Converts a directory of document files into a sparse .arff file. Prior to 
building the file, however, the text is cleaned & {\em docsToSparff \$docDirectory \$output.sparff} \\ \hline
docsToTfidfSparff & Builds a sparse .arff file from a directory of documents, as above, but 
instead constructs the file based on TF-IDF values for each term in the entire corpus. 
& {\em docsToTfidfSparff \$docDirectory \$numberOfAttributes \$output.sparff} \\ \hline
formatGotWant & Formats an association list returned from any custom LISP classifier containing 
actual and predicted class values in order to work properly with existing OURMINE functions  
& {\em formatGotWant} \\ \hline
funs & Prints a sorted list of all available OURMINE functions & {\em funs} \\ \hline
getClasses & Obtains a list of all class values from a specific data set & {\em getClasses} \\ \hline
getDataDefun & Returns the name of a .arff relation to be used to construct a LISP function 
that acts as a data set & {\em getDataDefun} \\ \hline
gotwant & Returns a comma separated list of actual and predicted class values from the output 
of a WEKA classifier & {\em gotwant} \\ \hline
help & When given with an OURMINE function, prints helpful information about the function, such as 
a description of the function, how to use it, etc. & {\em help \$function}, where \$function is the name 
of the function \\ \hline
\end{tabular}
\end{centering}

\newpage

\subsection*{Utility Functions II}

\begin{centering}
\small
\begin{tabular}{|p{1.0in}|p{2.5in}|p{2in}|p{2.5in}|}
\hline
Function Name & Description & Usage \\ \hline
makeQuartiles & Builds quartile charts using any key and performance value from the abcd results (see above) & 
{\em makeQuartiles \$csv \$keyField \$performanceField}, where \$keyField can be a learner/treatment, etc., 
and \$performanceField can be any value desired, such as $pd$, $accuract$, etc.\\ \hline
makeTrainAndTest & Constructs a training set and a test set given an input data set. The outputs of the 
function are train.arff, test.arff and also train.lisp and test.lisp & 
{\em makeTrainAndTest \$dataset \$bins \$bin}, where 
\$dataset refers to any data set in correct .arff format, \$bins refers to the number of bins desired in the constuction 
of the sets, and \$bin is the bin to select as the test set. For instance, if 10 is chosen as the number of bins, 
and 1 is chosen as the test set bin, then the resulting training set would consist of 90\% of the data, and the test 
set would consist of 10\%. \\ \hline
malign & Neatly aligns any comma-separated format into an easily readable format & {\em malign} \\ \hline
medians & Computes median values given a list of numbers & {\em medians} \\ \hline
\end{tabular}
\end{centering}
\newpage

\begin{centering}
\small
\begin{tabular}{|p{1.0in}|p{2.5in}|p{2in}|p{2.5in}|}
\hline
quartile & Generates a quartile chart along with min/max/median values, as well as second and third quartile values 
given a specific column & 
{\em quartile} \\ \hline
show & Prints an entire OURMINE function so that the script can be seen in its entirety & \em{show \$functionName} \\ \hline
winLossTie & Generates win-loss-tie tables given a data set. Win-loss-tie tables, in this case, depict results 
after a statstical analysis test on treatments. These tests include the Mann-Whitney-U test, as well as the 
Ranked Wilcoxon test & 
{\em winLossTie --input \$input.csv --fields \$numOfFields --perform \$performanceField --key \$keyField --\$confidence}, 
where \$input.csv refers to the saved output from the $abcd$ function described above, \$numOfFields represents the 
number of fields in the input file, \$performanceField is the field on which to determine performance, such as 
$pd$, $pf$, $acc$, \$keyField is the field of the key, which could be a learner/treatment, etc., and \$confidence 
is the percentage of confidence when running the test. The default confidence value is 95\% \\ \hline
\end{tabular}
\end{centering}
\newpage
\subsection*{Learners}

\begin{centering}
\small
\begin{tabular}{|p{1.0in}|p{2.5in}|p{2in}|}
\hline
Function Name & Description & Usage \\ \hline
adtree & Calls WEKA's Alternating Decision Tree & {\em adtree \$train \$test} \\ \hline
bnet & Calls WEKA's Bayes Net & {\em bnet \$train \$test} \\ \hline
j48 & Calls WEKA's J48 & {\em j48 \$train \$test} \\ \hline
nb & Calls WEKA's \nbc & {\em nb \$train \$test} \\ \hline
oner & Calls WEKA's One-R & {\em oner \$train \$test} \\ \hline
rbfnet & Calls WEKA's RBFNet & {\em rbfnet \$train \$test} \\ \hline
ridor & Calls WEKA's RIDOR & {\em ridor \$train \$test} \\ \hline
zeror & Calls WEKA's Zero-R & {\em zeror \$train \$test} \\ \hline
\end{tabular}
\end{centering}

\subsection*{Preprocessors}
\begin{centering}
\small
\begin{tabular}{|p{1.0in}|p{2.5in}|p{2in}|}
\hline
Function Name & Description & Usage \\ \hline
caps & Reduces capitalization to lowercase from an input text & {\em caps} \\ \hline
clean & Cleans text data by removing capitals, words in a stop list, special tokens, and performing 
Porter's stemming algorithm & {\em clean} \\ \hline
discretize & Discretizes the incoming data via WEKA's discretizer & {\em discretize \$input.darff \$output.arff} \\ \hline
logArff & Logs numeric data in incoming data & {\em logArff \$minVal \$fields}, where \$minVal denotes the minimum value 
to be passed to the log function, and \$fields is the specfic fields on which to perform log calculations \\ \hline
stems & Performs Porter's stemming algorithm on incoming text data & {\em stems \$inputFile} \\ \hline
stops & Removes any terms from incoming text data that are in a stored stop list & {\em stops} \\ \hline
tfidf & Computes TF*IDF values for terms in a document & {\em tfidf \$file} \\ \hline
tokes & Removes unimportant tokens or whitespace from incoming textual data & {\em tokes} \\ \hline
\end{tabular}
\end{centering}
\newpage
\subsection*{Feature Subset Selectors}
\begin{centering}
\small
\begin{tabular}{|p{0.9in}|p{2.5in}|p{2.7in}|}
\hline
Function Name & Description & Usage \\ \hline
cfs & Calls WEKA's Correlation-based Feature Selector & {\em cfs \$input.arff \$numAttributes \$out.arff} \\ \hline
chisquared & Calls WEKA's Chi-Squared Feature Selector & {\em chisquared \$input.arff \$numAttributes \$out.arff} \\ \hline
infogain & Calls WEKA's Infogain Feature Selector & {\em infogain \$input.arff \$numAttributes \$out.arff} \\ \hline
oneR & Calls WEKA's One-R Feature Selector & {\em oneR \$input.arff \$numAttributes \$out.arff} \\ \hline
pca & Calls WEKA's Principal Components Analysis Feature Selector & {\em pca \$input.arff \$numAttributes \$out.arff} \\ \hline
relief & Calls WEKA's RELIEF Feature Selector & {\em relief \$input.arff \$numAttributes \$out.arff} \\ \hline
\end{tabular}
\end{centering}

\subsection*{Clusterers}
\begin{centering}
\small
\begin{tabular}{|p{0.9in}|p{2.5in}|p{2.7in}|}
\hline
Function Name & Description & Usage \\ \hline
K-means & Calls custom Java K-means & {\em \$Clusterers -k  \$k \$input.arff \$out.arff, where \$k is the initial number of centroids} \\ \hline
Genic & Calls custom Java GeNic & {\em \$Clusterers -g \$k \$n \$input.arff \$out.arff, where \$k is the initial number of centroids, and \$n is the size of a generation} \\ \hline
Canopy & Calls custom Java Canopy Clustering & {\em \$Clusterers -c \$k \$p1 \$p2 \$input.arff \$out.arff, where k is the initial number of centroids, \$p1 is a similarity percentage value for the outer threshold, and \$p2 is a similarity percentage value for the inner threshold. If these percentages are not desired, a value of 1 should be provided for both} \\ \hline
EM & Calls WEKA's Expectation-Maximization Clusterer & {\em em \$input.arff \$k, where \$k is the initial number of centroids} \\ \hline
\end{tabular}
\end{centering}

