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.

Configure the tool

Required Parameters

Model Customization (Optional)

The model customization section is where the user chooses kernel type and related parameters of each kernel. Select Specify Model Parameters to customize the model.

User provides parameters: Select to directly set the needed parameters.

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

Machine tunes parameters: Select to provide a range of parameters and computationally find the best parameters by searching a grid of possible values, which 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.

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