Data loading function
Add impurity module
Change class-label format to float... Makes for better handling in numpy
Add functionality to calculate axis-parallel splits
Make sure impurity only accepts numpy arrays
Refactor to nice class
Add actual splitting functionality to the classifier.
Clean up the classifier class.

Removed unnecessary comments etc., now to actually write the
implementation :)
Implement train/predict, add small data file.

The ObliqueClassifier can now train and predict. Training is not
yet actually oblique, though; just axis parallel splits for now.

The xor.data file is just an xor data set, nothing special.
Clean up comments
Add cross-validation function.

The cross-validation function returns the mean classification rate
and the mean squared error.
Rebuild classifier to start implementing oblique splits!

Nodes now perform combinatory checks on records instead of
splitting on one attribute only. For now, the classifier
still only uses axis parallel splits but this is soon to
change!
Make xor file larger
Add check for empty data array
Start on perturbation algorithm, doesnt quite work yet.

Just ending the night with a commit... :(
Fix perturbation.

Currently the training method runs random perturbations 20 times.
Add data shuffle preprocessing, custom print statement to cross
validation.

The data matrix is now shuffled before use so crossvalidation with
little folds still works (time is precious).
Add tee class to split output
Merge isolet datasets into one file. Remove xor dataset. Add code to preprocess isolet data. Clean up classifier file. Shell script to run tests. Python code to run tests.
Add set -e to shellscript, modify test.py to create results dir
if it does not exist.