Support Vector Machine Tool

Support Vector Machines (SVM), or Support Vector Networks (SVN), are a popular set of supervised learning algorithms originally developed for classification (categorical target) problems, and late extended to regression (numerical target) problems. SVMs are popular because they are memory efficient, can address a large number of predictor variables (although they can provide poor fits if the number of predictors exceeds the number of estimation records), and are versatile since they support a large number of different "kernel" functions.

The basic idea behind the method is to the predictor variables are to find the best equation of a line (one predictor), a plane (two predictors) , or a hyperplane (three or more predictors) that maximally separates the groups of records, based on a measure of distance, the estimation records into different groups based on the target variable. A kernel function provides the measure of distance that causes to records to be placed in the same or different groups, and involves taking a function of the predictor variables to define the distance metric.

A short video that illustrates how this works can be found here, and a very approachable discussion of the topic can be found here. The extent that groups are separated conditional on the kernel function used is known as the maximal margin. Finally, the separation of the groups may not be perfect, but a cost parameter (which is the cost of placing an estimation record into the "wrong" group) can also be specified.

This tool uses the e1071 R package.

This tool uses the R programming language. Go to Options > Download Predictive Tools to install R and the packages used by the R Tool.

Input

An Alteryx data stream that includes a target field of interest along with one or more possible predictor fields.

Configuration

Required Parameters

Model Customization (Optional)

The model customization section is where the user chooses kernel type and related parameters of each kernel. The Alteryx SVM tool offers the option of allowing the user to directly set the needed parameters (the radio button: “User provides parameters”), or provides a range of parameters and finds the best parameters by searching of a grid of possible values (radio button: “Machine tunes parameters”). Note that the latter is more computationally expensive (and hence takes longer), since it carries out a 10-fold cross validation to test the model on multiple parameter values. However, it is likely to result in a model that better fits the data.

User provides parameters

Kernel Type: Determines the metric used to measure the seperation between groups

Machine tunes parameters

The parameters need to be selected in this case are analogous to those for the case of “User provides parameters” section, but with the following the differences:

Graphics Options

Output

Classification

Regression

The report explains how to interpret each performance evaluation measure.