1.0 - 8.00 - SVMSparse Example - Teradata Vantage

Teradata® Vantage Machine Learning Engine Analytic Function Reference

Product
Teradata Vantage
Release Number
1.0
8.00
Release Date
May 2019
Content Type
Programming Reference
Publication ID
B700-4003-098K
Language
English (United States)

Input

  • InputTable: svm_iris_input_train
    The example creates svm_iris_input_train in two steps:
    1. Create table svm_iris_input in sparse format by inputting table svm_iris to the Unpivoting function:
      CREATE MULTISET TABLE svm_iris_input AS (
        SELECT id, species, attribute, value_col
        FROM Unpivoting (
          ON svm_iris
          USING
          TargetColumns ('Sepal_Length', 'Sepal_Width', 'Petal_Length', 'Petal_Width')
          Accumulate ('ID', 'Species')
        ) AS dt
      ) WITH DATA;
    2. From svm_iris_input, create training table svm_iris_input_train (with 80% of the rows) and testing table svm_iris_input_test (with 20% of the rows):
      CREATE MULTISET TABLE svm_iris_input_train AS (
        SELECT * FROM svm_iris_input WHERE id%5!=0
      ) WITH DATA;
      
      CREATE MULTISET TABLE svm_iris_input_test AS (
        SELECT * FROM svm_iris_input WHERE id%5=0
      ) WITH DATA;

      The testing table is input to the SparseSVMPredictor function.

The table svm_iris has four iris attributes (sepal length, sepal width, petal length, and petal width), grouped into three categories (setosa, versicolor, and virginica).

svm_iris
id sepal_length sepal_width petal_length petal_width species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
7 4.6 3.4 1.4 0.3 setosa
8 5 3.4 1.5 0.2 setosa
9 4.4 2.9 1.4 0.2 setosa
10 4.9 3.1 1.5 0.1 setosa
11 5.4 3.7 1.5 0.2 setosa
12 4.8 3.4 1.6 0.2 setosa
13 4.8 3 1.4 0.1 setosa
14 4.3 3 1.1 0.1 setosa
... ... ... ... ... ...
svm_iris_input
id species attribute value_col
1 setosa sepal_length 5.1
1 setosa sepal_width 3.5
1 setosa petal_length 1.4
1 setosa petal_width 0.2
2 setosa sepal_length 4.9
2 setosa sepal_width 3.0
2 setosa petal_length 1.4
2 setosa petal_width 0.2
3 setosa sepal_length 4.7
3 setosa sepal_width 3.2
3 setosa petal_length 1.3
3 setosa petal_width 0.2
... ... ... ...
InputTable: svm_iris_input_train
id species attribute value_col
1 setosa sepal_length 5.1
1 setosa sepal_width 3.5
1 setosa petal_length 1.4
1 setosa petal_width 0.2
2 setosa sepal_length 4.9
2 setosa sepal_width 3.0
2 setosa petal_length 1.4
2 setosa petal_width 0.2
3 setosa sepal_length 4.7
3 setosa sepal_width 3.2
... ... ... ...

SQL Call

SELECT * FROM SVMSparse (
  ON svm_iris_input_train AS InputTable
  OUT TABLE ModelTable (svm_iris_model)
  USING
  IDColumn ('id')
  AttributeNameColumn ('attribute')
  ResponseColumn ('species')
  AttributeValueColumn ('value_col')
  MaxStep (150)
  Seed (0)
) AS dt ;

SELECT COUNT(*) FROM svm_iris_model;

Output

message
Model table is created successfully
The model is trained with 120 samples and 4 unique attributes
There are 3 different classes in the training set
The model is not converged after 150 steps with epsilon 0.01, the average value of the loss function for the training set is 35.31070084181264
The corresponding training parameters are cost:1.0 bias:0.0

The model table, svm_iris_model, is in binary format.