PREDICT_NAIVE_BAYES

Applies a Naive Bayes model on an input relation.

Syntax

PREDICT_NAIVE_BAYES ( input‑columns
                        USING PARAMETERS model_name='model‑name'
                                         [, type=' return‑type ']
                                         [, class='user‑input‑class'] 
                                         [, match_by_pos=match‑by‑position] )

Arguments

input‑columns

Comma-separated list of columns to use from the input relation, or asterisk (*) to select all columns.

Parameter Settings

Parameter name Set to…
model_name Name of the model (case-insensitive)
type

One of the following:

  • response (default): Returns the class with the highest probability.
  • probability: Valid only if class parameter is set, returns the probability of belonging to the specified class argument.
class

Required if type parameter is set to probability. If you omit this parameter, PREDICT_NAIVE_BAYES returns the class that it predicts as having the highest probability.

match_by_pos

Boolean value that specifies how input columns are matched to model features:

  • false (default): Match by name.

  • true: Match by the position of columns in the input columns list.

Returns

Depending on how the type parameter is set, a VARCHAR that specifies either the predicted class or probability of the predicted class. If the function returns probability, you can cast the return value to an INTEGER or another numeric data type.

Examples

=> SELECT party, PREDICT_NAIVE_BAYES (vote1, vote2, vote3
                                        USING PARAMETERS model_name='naive_house84_model',
                                                         type='response') 
                                        AS Predicted_Party
                                        FROM house84_test;
   party    | Predicted_Party
------------+-----------------
 democrat   | democrat
 democrat   | democrat
 democrat   | democrat
 republican | republican
 democrat   | democrat
 democrat   | democrat
 democrat   | democrat
 democrat   | democrat
 democrat   | democrat
 republican | republican
 democrat   | democrat
 democrat   | democrat
 democrat   | democrat
 democrat   | republican
 republican | republican
 democrat   | democrat
 republican | republican
…
(99 rows)

See Also