                               MAD
                           ===========

MAD (Maximum Area under ROC Curve Based Discretization)
is a global, static and supervised discretization method.
It is implemented in the Java language.

MAD is invoked as

$ java MAD dataSet outputName [-t n] [-x n] [-c n]

Here,
	The dataSet has to be in a file named dataSet, in comma separeted values format.
	outputName is the name of the output file, which will be in comma separeted format.
	If -t is given: 0th.. nth values will form the test set, t can be also 0.
	If -x n is given: Number of folds for cross validation should be given after this line, default=10.
	If -c n is given: Index value of the class feature. Zeroth index means the first feature. Default:last column

Reads training data and testing data (if selected) from dataSet.

As an example, for abalone domain, call as

$ java abalone.csv output.csv -c 0 -t 0 

Make sure that abalone.csv file exists in the current directory.
The first column has to be the class feature in this example.
None of the elements used for testing in this example, which simply uses
all elements for training and based on this it discretizes the features.
output.csv will include the discretized version of the original data.

-t parameter: If this parameter is set some of the elements in the dataset
file will be used in the testing process. However, all the elements are going 
to be discretized based on the threshold values learned from training items. Therefore,
this functionality is provided for experiments. If one would like to do a discretization
using all data as training set she can simply set -t as 0.

-x parameter: This parameter is for cross validation. As an example, if it is set to 5 program 
will form 5 folds and each time uses four as training and one for testing. In this way, every element
is used in test once and all elements used in training four times. The output of the program
will be seperate files for each fold. Each file will be numbered as outputName<fold number>.extension

-c parameter: This parameter is used to define the class variable. If this parameter is not 
set correctly the output of the program will not be useful.
