Single_Tree_Predict Example 1 - Teradata Vantage

Machine Learning Engine Analytic Function Reference

Product
Teradata Vantage
Release Number
8.00
1.0
Published
May 2019
Language
English (United States)
Last Update
2019-11-22
dita:mapPath
blj1506016597986.ditamap
dita:ditavalPath
blj1506016597986.ditaval
dita:id
B700-4003
lifecycle
previous
Product Category
Teradata Vantage™

Input

Input tables are from DecisionTree Example 1:
  • attribute_table: iris_attribute_test
  • model_table: iris_attribute_output

SQL Call

CREATE MULTISET TABLE singletree_predict AS (
  SELECT * FROM Single_Tree_Predict@coprocessor (
    ON iris_attribute_test AS attribute_table PARTITION BY pid
      ORDER BY attribute
    ON iris_attribute_output as model_table DIMENSION
    USING
    AttrTable_GroupbyColumns ('attribute')
    AttrTable_pidColumns ('pid')
    AttrTable_valColumn ('attrvalue')
  ) AS dt
) WITH DATA;

Output

This query returns the following table:

SELECT * FROM singletree_predict ORDER BY 1;
pid pred_label
5 1
10 1
15 1
20 1
25 1
30 1
35 1
40 1
45 1
50 1
55 2
60 2
65 2
70 2
75 2
80 2
85 2
90 2
95 2
100 2
105 3
110 3
115 3
120 2
125 3
130 2
135 2
140 3
145 3
150 3

Prediction Accuracy

The following SQL code calculates and displays the prediction accuracy.

DROP TABLE st_predict_accuracy;

CREATE MULTISET TABLE st_predict_accuracy AS (
  SELECT pid, CAST(pred_label AS INTEGER) AS pred_label, species
  FROM singletree_predict, iris_test WHERE id = pid
) WITH DATA;

SELECT (
  SELECT COUNT(pid) FROM st_predict_accuracy
  WHERE pred_label = species)/(SELECT COUNT(pid)
  FROM st_predict_accuracy
) WITH DATA AS prediction_accuracy;
prediction_accuracy
0.90000000000000000000