PREDICT_RF_CLASSIFIER_CLASSES
Applies a random forest model on an input relation and returns the probabilities of classes. The predicted class is selected only based on the popular vote of the decision trees in the forest. Therefore, in special cases the calculated probability of the predicted class may not be the highest.
Syntax
PREDICT_RF_CLASSIFIER_CLASSES ( predictor‑columns USING PARAMETERS model_name='model‑name' [, key_columns='key‑columns''] [, exclude_columns='excluded‑columns'] [, classes='classes'] [, match_by_pos=match‑by‑position] ) OVER( [window-partition-clause] )
Arguments
predictor‑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) |
key_columns
|
Comma-separated list of predictor column names that identify the output rows. To exclude these and other predictor columns from being used for prediction, include them in the argument list for parameter |
exclude_columns
|
Comma-separated list of columns from predictor‑columns to exclude from processing. |
classes
|
Comma-separated list of class labels in the model. The probability of belonging to this given class is predicted by the classifier. Values are case sensitive. |
match_by_pos
|
Boolean value that specifies how predictor columns are matched to model features:
|
Returns
- VARCHAR
predicted
column contains the class label with the highest vote (popular vote). - Multiple FLOAT columns, where the first
probability
column contains the probability for the class reported in the predicted column. Other columns contain the probability of each class specified in theclasses
parameter. - Key columns with the same value and data type as matching input columns specified in parameter
key_columns
.
Examples
=> SELECT PREDICT_RF_CLASSIFIER_CLASSES(Sepal_Length, Sepal_Width, Petal_Length, Petal_Width USING PARAMETERS model_name='myRFModel') OVER () FROM iris; predicted | probability -----------+------------------- setosa | 1 setosa | 0.99 setosa | 1 setosa | 1 setosa | 1 setosa | 0.97 setosa | 1 setosa | 1 setosa | 1 setosa | 1 setosa | 0.99 … (150 rows)
This example shows how to use function PREDICT_RF_CLASSIFIER_CLASSES
, using the match_by_pos
parameter:
=> SELECT PREDICT_RF_CLASSIFIER_CLASSES(Sepal_Length, Sepal_Width, Petal_Length, Petal_Width USING PARAMETERS model_name='myRFModel', match_by_pos='true') OVER () FROM iris; predicted | probability -----------+------------------- setosa | 1 setosa | 1 setosa | 1 setosa | 1 setosa | 1 setosa | 1 setosa | 1 setosa | 1 setosa | 1 setosa | 1 setosa | 1 … (150 rows)s