A guide to understanding support vector machines for classification: from theory to scikit-learn implementation.