CLASSPATH = /net/three/home/blue/kpray/bin/tomcat/webapps/Weka/weka-3-1-8/weka.jar:.

CLASSPATHFLAG = -classpath $(CLASSPATH)

MEMORYFLAG = -mx192m

FLAGS = $(CLASSPATHFLAG) $(MEMORYFLAG)

DATAHOME = ../../data/

TRAINDATA = $(DATAHOME)census-income.data

TESTDATA = $(DATAHOME)census-income.test

########## Long Tests - All Attributes - many large population ##########

## long test, uses defaults from code - training and test data

longfull : longfull-AND-test1 longfull-OR-test1 longfull-ANDOR-test1 longfull-XOR-test1 longfull-ANDXOR-test1 longfull-ORXOR-test1 longfull-ANDORXOR-test1

## longfull test, AND
longfull-AND-test1 : census-income-discretized.data census-income-discretized.test
	java $(FLAGS) GA -P 50 -I 300 -L 1 -t census-income-discretized.data -T census-income-discretized.test$ > longfull-AND-test1.txt

## longfull test, OR
longfull-OR-test1 : census-income-discretized.data census-income-discretized.test
	java $(FLAGS) GA -P 50 -I 300 -L 2 -t census-income-discretized.data -T census-income-discretized.test$ > longfull-OR-test1.txt

## longfull test, ANDOR
longfull-ANDOR-test1 : census-income-discretized.data census-income-discretized.test
	java $(FLAGS) GA -P 50 -I 300 -L 3 -t census-income-discretized.data -T census-income-discretized.test$ > longfull-ANDOR-test1.txt

longfull-XOR-test1 : census-income-discretized.data census-income-discretized.test
	java $(FLAGS) GA -P 50 -I 300 -L 4 -t census-income-discretized.data -T census-income-discretized.test$ > longfull-XOR-test1.txt

longfull-ANDXOR-test1 : census-income-discretized.data census-income-discretized.test
	java $(FLAGS) GA -P 50 -I 300 -L 5 -t census-income-discretized.data -T census-income-discretized.test$ > longfull-ANDXOR-test1.txt

longfull-ORXOR-test1 : census-income-discretized.data census-income-discretized.test
	java $(FLAGS) GA -P 50 -I 300 -L 6 -t census-income-discretized.data -T census-income-discretized.test$ > longfull-ORXOR-test1.txt

longfull-ANDORXOR-test1 : census-income-discretized.data census-income-discretized.test
	java $(FLAGS) GA -P 50 -I 300 -L 7 -t census-income-discretized.data -T census-income-discretized.test$ > longfull-ANDORXOR-test1.txt

## All The tests
all : short medium full

########## Standard Tests - All Attributes - many large population ##########

## full test, uses defaults from code - training and test data

full : full-AND-test1 full-OR-test1 full-ANDOR-test1 full-XOR-test1 full-ANDXOR-test1 full-ORXOR-test1 full-ANDORXOR-test1

## full test, AND
full-AND-test1 : census-income-discretized.data census-income-discretized.test
	java $(FLAGS) GA -L 1 -t census-income-discretized.data -T census-income-discretized.test$ > full-AND-test1.txt

## full test, OR
full-OR-test1 : census-income-discretized.data census-income-discretized.test
	java $(FLAGS) GA -L 2 -t census-income-discretized.data -T census-income-discretized.test$ > full-OR-test1.txt

## full test, ANDOR
full-ANDOR-test1 : census-income-discretized.data census-income-discretized.test
	java $(FLAGS) GA -L 3 -t census-income-discretized.data -T census-income-discretized.test$ > full-ANDOR-test1.txt

full-XOR-test1 : census-income-discretized.data census-income-discretized.test
	java $(FLAGS) GA -L 4 -t census-income-discretized.data -T census-income-discretized.test$ > full-XOR-test1.txt

full-ANDXOR-test1 : census-income-discretized.data census-income-discretized.test
	java $(FLAGS) GA -L 5 -t census-income-discretized.data -T census-income-discretized.test$ > full-ANDXOR-test1.txt

full-ORXOR-test1 : census-income-discretized.data census-income-discretized.test
	java $(FLAGS) GA -L 6 -t census-income-discretized.data -T census-income-discretized.test$ > full-ORXOR-test1.txt

full-ANDORXOR-test1 : census-income-discretized.data census-income-discretized.test
	java $(FLAGS) GA -L 7 -t census-income-discretized.data -T census-income-discretized.test$ > full-ANDORXOR-test1.txt

########## Medium Tests - All Attributes - more medium populations ##########

medium : medium-discretized-AND-test1 medium-discretized-OR-test1 medium-discretized-ANDOR-test1 medium-discretized-XOR-test1 medium-discretized-ANDXOR-test1 medium-discretized-ORXOR-test1 medium-discretized-ANDORXOR-test1

## short data sets for preliminary testing - all attributes - AND
medium-discretized-AND-test1 : census-income-discretized-short.data census-income-discretized-short.test
	java $(FLAGS) GA -P 50 -I 300 -L 1 -t census-income-discretized-short.data -T census-income-discretized-short.test > medium-discretized-AND-test1.txt

## short data sets for preliminary testing - all attributes - OR
medium-discretized-OR-test1 : census-income-discretized-short.data census-income-discretized-short.test
	java $(FLAGS) GA -P 50 -I 300 -L 2 -t census-income-discretized-short.data -T census-income-discretized-short.test > medium-discretized-OR-test1.txt

## short data sets for preliminary testing - all attributes - ANDOR
medium-discretized-ANDOR-test1 : census-income-discretized-short.data census-income-discretized-short.test
	java $(FLAGS) GA -P 50 -I 300 -L 3 -t census-income-discretized-short.data -T census-income-discretized-short.test > medium-discretized-ANDOR-test1.txt

medium-discretized-XOR-test1 : census-income-discretized-short.data census-income-discretized-short.test
	java $(FLAGS) GA -P 50 -I 300 -L 4 -t census-income-discretized-short.data -T census-income-discretized-short.test > medium-discretized-XOR-test1.txt

## short data sets for preliminary testing - all attributes - ANDXOR
medium-discretized-ANDXOR-test1 : census-income-discretized-short.data census-income-discretized-short.test
	java $(FLAGS) GA -P 50 -I 300 -L 5 -t census-income-discretized-short.data -T census-income-discretized-short.test > medium-discretized-ANDXOR-test1.txt

## short data sets for preliminary testing - all attributes - ORXOR
medium-discretized-ORXOR-test1 : census-income-discretized-short.data census-income-discretized-short.test
	java $(FLAGS) GA -P 50 -I 300 -L 6 -t census-income-discretized-short.data -T census-income-discretized-short.test > medium-discretized-ORXOR-test1.txt

## short data sets for preliminary testing - all attributes - ANDORXOR
medium-discretized-ANDORXOR-test1 : census-income-discretized-short.data census-income-discretized-short.test
	java $(FLAGS) GA -P 50 -I 300 -L 7 -t census-income-discretized-short.data -T census-income-discretized-short.test > medium-discretized-ANDORXOR-test1.txt

########## Short Test - All Attributes ##########

short : short-discretized-AND-test1 short-discretized-OR-test1 short-discretized-ANDOR-test1 short-discretized-XOR-test1 short-discretized-ANDXOR-test1 short-discretized-ORXOR-test1 short-discretized-ANDORXOR-test1 

## short data sets for preliminary testing - all attributes - AND
short-discretized-AND-test1 : census-income-discretized-short.data census-income-discretized-short.test
	java $(FLAGS) GA -P 20 -I 100 -L 1 -t census-income-discretized-short.data -T census-income-discretized-short.test > short-discretized-AND-test1.txt

## short data sets for preliminary testing - all attributes - OR
short-discretized-OR-test1 : census-income-discretized-short.data census-income-discretized-short.test
	java $(FLAGS) GA -P 20 -I 100 -L 2 -t census-income-discretized-short.data -T census-income-discretized-short.test > short-discretized-OR-test1.txt

## short data sets for preliminary testing - all attributes - ANDOR
short-discretized-ANDOR-test1 : census-income-discretized-short.data census-income-discretized-short.test
	java $(FLAGS) GA -P 20 -I 100 -L 3 -t census-income-discretized-short.data -T census-income-discretized-short.test > short-discretized-ANDOR-test1.txt

## short data sets for preliminary testing - all attributes - XOR
short-discretized-XOR-test1 : census-income-discretized-short.data census-income-discretized-short.test
	java $(FLAGS) GA -P 20 -I 100 -L 4 -t census-income-discretized-short.data -T census-income-discretized-short.test > short-discretized-XOR-test1.txt


## short data sets for preliminary testing - all attributes - ANDXOR
short-discretized-ANDXOR-test1 : census-income-discretized-short.data census-income-discretized-short.test
	java $(FLAGS) GA -P 20 -I 100 -L 5 -t census-income-discretized-short.data -T census-income-discretized-short.test > short-discretized-ANDXOR-test1.txt

## short data sets for preliminary testing - all attributes - ORXOR
short-discretized-ORXOR-test1 : census-income-discretized-short.data census-income-discretized-short.test
	java $(FLAGS) GA -P 20 -I 100 -L 6 -t census-income-discretized-short.data -T census-income-discretized-short.test > short-discretized-ORXOR-test1.txt


## short data sets for preliminary testing - all attributes - ANDORXOR
short-discretized-ANDORXOR-test1 : census-income-discretized-short.data census-income-discretized-short.test
	java $(FLAGS) GA -P 20 -I 100 -L 7 -t census-income-discretized-short.data -T census-income-discretized-short.test > short-discretized-ANDORXOR-test1.txt

########## Short Test - Only Nominal Attributes ##########

## short data sets for preliminary testing
shorttest1 : census-income-nominal-short.data census-income-nominal-short.test
	java $(FLAGS) GA -P 20 -I 100 -t census-income-nominal-short.data -T census-income-nominal-short.test > shorttest1.txt

## short data sets for preliminary testing - OR
short-OR-test1 : census-income-nominal-short.data census-income-nominal-short.test
	java $(FLAGS) GA -P 20 -I 100 -L 2 -t census-income-nominal-short.data -T census-income-nominal-short.test > short-OR-test1.txt

## short data sets for preliminary testing - ANDOR
short-ANDOR-test1 : census-income-nominal-short.data census-income-nominal-short.test
	java $(FLAGS) GA -P 40 -I 300 -L 3 -t census-income-nominal-short.data -T census-income-nominal-short.test > short-ANDOR-test1.txt

## short data sets for preliminary testing - ANDXOR
short-ANDXOR-test1 : census-income-nominal-short.data census-income-nominal-short.test
	java $(FLAGS) GA -P 40 -I 300 -L 5 -t census-income-nominal-short.data -T census-income-nominal-short.test > short-ANDXOR-test1.txt

## short data sets for preliminary testing - replace rate
short-replace-0.2-test1 : census-income-nominal-short.data census-income-nominal-short.test
	java $(FLAGS) GA -P 20 -I 100 -R 0.2 -t census-income-nominal-short.data -T census-income-nominal-short.test > short-replace-0.2-test1.txt

#################
##################################
#################

## how to make data we need

census-income-short.data :
	head -535 $(TRAINDATA) > census-income-short.data

census-income-short.test :
	head -535 $(TESTDATA) > census-income-short.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-discretized-short.test : census-income-discretized.test
	head -535 census-income-discretized.test > census-income-discretized-short.test

census-income-discretized-short.data : census-income-discretized.data
	head -535 census-income-discretized.data > census-income-discretized-short.data

census-income-nominal.data :
	java weka.filters.AttributeTypeFilter -T "numeric" -c last -i $(TRAINDATA) -o census-income-nominal.data 

census-income-nominal.test :
	java weka.filters.AttributeTypeFilter -T "numeric" -c last i $(TESTDATA) -o census-income-nominal.test

census-income-nominal-short.data : census-income-short.data
	java weka.filters.AttributeTypeFilter -T "numeric" -c last -i census-income-short.data -o census-income-nominal-short.data

census-income-nominal-short.test : census-income-short.test
	java weka.filters.AttributeTypeFilter -T "numeric" -c last -i census-income-short.test -o census-income-nominal-short.test

## Have to make the class file, heh ##
GA.class : GA.java
	javac $(CLASSPATHFLAG) GA.java





