#!/bin/bash Here=$1 Sandbox=$2 Repeats=$3 Use=$4 Pred=$5 SpecialMethods=$6 NormalMethods=$7 ColumnPrunerMethods=$8 Log=$9 let Min=(Use+10) Drivers="precise" Weka="java -Xmx1024M -cp weka.jar" csvToArff(){ ./csv2arff --ranges rules.config --relation $stem $1; } arffWithNums(){ ./cocNums --numbers $1.config $2; } generate(){ for i in *.csv do #this is used for manual stratification experiments as well #mainDataset is needed for manual stratification and all.arff is need for both manual stratification and everything else. mainDataset=${i/_*/}_all.csv; stem=${mainDataset/\.*/} csvToArff $mainDataset > mainDataset.arff; stem=${i/\.*/} csvToArff $i > all.arff Size=`./instances all.arff`; [ "$Size" -lt $Min ] && continue ./blab "\n$stem " for((R=1;R<=Repeats;R++)) do ./blab "$R " Seed=$RANDOM #generates a test file and two train file one of which is used for regular experiments (train.arff) and #the other (trainManualStratification.arff) only for manual stratification experiments only gawk -f splitIntoTrainTest.awk Seed=$Seed TestSize=$Use all.arff mainDataset.arff; for Num in $Drivers do echo "" arffWithNums $Num test.arff > testN.arff arffWithNums $Num train.arff > trainN.arff numberOfAttributes=`./attributes testN.arff` #---------- No Column Pruner ColumnPruner="None"; #---------- Any Attribute Methods for Method in $NormalMethods do . $Sandbox/$Method trainN.arff testN.arff; done done done done } generate > $Log