CLASSPATH = /net/three/home/blue/kpray/bin/tomcat/webapps/Weka/weka-3-1-8/weka.jar:.

CLASSPATHFLAG = -classpath $(CLASSPATH)

BAYESSIMPLE = NaiveBayesSimple

BAYES = weka.classifiers.NaiveBayes

DATAHOME = ../../data/

TRAINDATA = $(DATAHOME)census-income.data

TESTDATA = $(DATAHOME)census-income.test

TRAINDATASHORT = 

TESTDATASHORT = 



### Test normalized data - fancy

normalizedtest2 : census-income-normalized.data census-income-normalized.test
	java $(CLASSPATHFLAG) $(BAYES) -t census-income-normalized.data -T census-income-normalized.test > normalizedtest2.txt

### Test discretized data - fancy

discretizedtest2 : census-income-discretized.data census-income-discretized.test
	java $(CLASSPATHFLAG) $(BAYES) -t census-income-discretized.data -T census-income-discretized.test > discretizedtest2.txt

### Test normalized then discretized data - fancy

normalizeddiscretizedtest2 : census-income-normalized-discretized.data census-income-normalized-discretized.test
	java $(CLASSPATHFLAG) $(BAYES) -t census-income-normalized-discretized.data -T census-income-normalized-discretized.test > normalized-discretizedtest2.txt


### Test normalized data

normalizedtest : census-income-normalized.data census-income-normalized.test
	java $(CLASSPATHFLAG) $(BAYESSIMPLE) -t census-income-normalized.data -T census-income-normalized.test > normalizedtest1.txt

### Test discretized data

discretizedtest : census-income-discretized.data census-income-discretized.test
	java $(CLASSPATHFLAG) $(BAYESSIMPLE) -t census-income-discretized.data -T census-income-discretized.test > discretizedtest1.txt

### Test normalized then discretized data

normalizeddiscretizedtest : census-income-normalized-discretized.data census-income-normalized-discretized.test
	java $(CLASSPATHFLAG) $(BAYESSIMPLE) -t census-income-normalized-discretized.data -T census-income-normalized-discretized.test > normalized-discretizedtest1.txt

### Now for the tests and stuff ###

all : test1 simple

### All the simple tests ###

simple : simpletest1 simpletest-no-missing

## simple test, uses a simple bayes classifier
simpletest1 : 
	java $(CLASSPATHFLAG) $(BAYESSIMPLE) -t $(TRAINDATA) -T $(TESTDATA) > simpletest1.txt

# no missing data
simpletest-no-missing : census-income-no-missing.data census-income-no-missing.test
	java $(CLASSPATHFLAG) $(BAYESSIMPLE) -t census-income-no-missing.data -T census-income-no-missing.test > simpletest-no-missing.txt

## standard test, uses defaults from code
test1 : 
	java $(CLASSPATHFLAG) $(BAYES) -t $(TRAINDATA) -T $(TESTDATA) > test1.txt

## Short test
shorttest1 :
	java $(CLASSPATHFLAG) $(BAYESSIMPLE) -t census-income-short.data -T census-income-short.test > shorttest1.txt

#################
##################################
#################

## how to make data we need
census-income-no-missing.data :
	cat $(TRAINDATA) | grep -v \? > census-income-no-missing.data

census-income-no-missing.test :
	cat $(TESTDATA) | grep -v \? > census-income-no-missing.test

census-income-normalized.test : census-income-normalized.data

census-income-normalized.data :
	java weka.filters.NormalizationFilter -b -i $(TRAINDATA) -o census-income-normalized.data -r $(TESTDATA) -s census-income-normalized.test

census-income-discretized.test : census-income-discretized.data

census-income-discretized.data :
	java weka.filters.DiscretizeFilter -c last -b -i $(TRAINDATA) -o census-income-discretized.data -r $(TESTDATA) -s census-income-discretized.test

census-income-normalized-discretized.test : census-income-normalized-discretized.data

census-income-normalized-discretized.data :census-income-normalized.data census-income-normalized.test
	java weka.filters.DiscretizeFilter -c last -b -i census-income-normalized.data -o census-income-normalized-discretized.data -r census-income-normalized.test -s census-income-normalized-discretized.test
