Implementation of a SVM. Can have varying number of data types.