Skip to content

DESCRIBE PREDICTOR Statement

The DESCRIBE PREDICTOR statement is used to display the attributes of an existing model.

DESCRIBE PREDICTOR ... FEATURES Statement

Description

The DESCRIBE PREDICTOR mindsdb.[predictor_name].features statement displays how the model encoded the data before the training process.

Syntax

Here is the syntax:

DESCRIBE PREDICTOR mindsdb.[predictor_name].features;

On execution, we get:

+--------------+-------------+--------------+-------------+
| column       | type        | encoder      | role        |
+--------------+-------------+--------------+-------------+
| column_name  | column_type | encoder_used | column_role |
+--------------+-------------+--------------+-------------+

Where:

Name Description
[predictor_name] Name of the model to be described.
column Data columns that were used to create the model.
type Data type of the column.
encoder Encoder type used for the column.
role Role of the column (feature or target).

Example

Let's look at an example using the home_rentals_model model.

DESCRIBE PREDICTOR mindsdb.home_rentals_model.features;

On execution, we get:

+---------------------+-------------+----------------+---------+
| column              | type        | encoder        | role    |
+---------------------+-------------+----------------+---------+
| number_of_rooms     | categorical | OneHotEncoder  | feature |
| number_of_bathrooms | binary      | BinaryEncoder  | feature |
| sqft                | integer     | NumericEncoder | feature |
| location            | categorical | OneHotEncoder  | feature |
| days_on_market      | integer     | NumericEncoder | feature |
| neighborhood        | categorical | OneHotEncoder  | feature |
| rental_price        | integer     | NumericEncoder | target  |
+---------------------+-------------+----------------+---------+

Here the rental_price column is the target column to be predicted. As for the feature columns, these are used to train the ML model to predict the value of the rental_price column.

DESCRIBE PREDICTOR ... MODEL Statement

Description

The DESCRIBE PREDICTOR mindsdb.[predictor_name].model statement displays the performance of the candidate models.

Syntax

Here is the syntax:

DESCRIBE PREDICTOR mindsdb.[predictor_name].model;

On execution, we get:

+-----------------+-------------+---------------+-----------+---------------------+
| name            | performance | training_time | selected  | accuracy_functions  |
+-----------------+-------------+---------------+-----------+---------------------+
| candidate_model | performance | training_time | selected  | accuracy_functions  |
+-----------------+-------------+---------------+-----------+---------------------+

Where:

Name Description
[predictor_name] Name of the model to be described.
name Name of the candidate model.
performance Accuracy value from 0 to 1, depending on the type of the model.
training_time Time elapsed for the training of the model.
selected 1 for the best performing model and 0 for the rest.
accuracy_functions It stores the r2_score value for regression predictions, the balanced_accuracy_score value for classification predictions, and the bounded_ts_accuracy value for time series predictions. The values vary between 0 and 1, where 1 indicates a perfect predictor, based on results obtained for a held out portion of data.

Example

Let's look at an example using the home_rentals_model model.

DESCRIBE PREDICTOR mindsdb.home_rentals_model.model;

On execution, we get:

+------------+--------------------+----------------------+----------+---------------------+
| name       | performance        | training_time        | selected | accuracy_functions  |
+------------+--------------------+----------------------+----------+---------------------+
| Neural     | 0.9861694189913056 | 3.1538941860198975   | 0        | ['r2_score']        |
| LightGBM   | 0.9991920992432087 | 15.671080827713013   | 1        | ['r2_score']        |
| Regression | 0.9983390488042778 | 0.016761064529418945 | 0        | ['r2_score']        |
+------------+--------------------+----------------------+----------+---------------------+

The value of the accuracy_functions column is stored in the performance column. For example, the r2_score value of the Neural model is 0.9861694189913056.

DESCRIBE PREDICTOR ... ENSEMBLE Statement

Description

The DESCRIBE PREDICTOR mindsdb.[predictor_name].ensemble statement displays the parameters used to select the best candidate model.

Syntax

Here is the syntax:

DESCRIBE PREDICTOR mindsdb.[predictor_name].ensemble;

On execution, we get:

+-----------------+
| ensemble        |
+-----------------+
| {JSON}          |
+-----------------+

Where:

Name Description
[predictor_name] Name of the model to be described.
ensemble Object of the JSON type describing the parameters used to select the best candidate model.

Example

Let's look at an example using the home_rentals_model model.

DESCRIBE PREDICTOR mindsdb.home_rentals_model.ensemble;

On execution, we get:

+----------------------------------------------------------------------+
| ensemble                                                             |
+----------------------------------------------------------------------+
| {                                                                    |
| "encoders": {                                                        |
|   "rental_price": {                                                  |
|     "module": "NumericEncoder",                                      |
|     "args": {                                                        |
|       "is_target": "True",                                           |
|       "positive_domain": "$statistical_analysis.positive_domain"     |
|     }                                                                |
|   },                                                                 |
|   "number_of_rooms": {                                               |
|     "module": "OneHotEncoder",                                       |
|     "args": {}                                                       |
|   },                                                                 |
|   "number_of_bathrooms": {                                           |
|     "module": "BinaryEncoder",                                       |
|     "args": {}                                                       |
|   },                                                                 |
|   "sqft": {                                                          |
|     "module": "NumericEncoder",                                      |
|     "args": {}                                                       |
|   },                                                                 |
|   "location": {                                                      |
|     "module": "OneHotEncoder",                                       |
|     "args": {}                                                       |
|   },                                                                 |
|   "days_on_market": {                                                |
|     "module": "NumericEncoder",                                      |
|     "args": {}                                                       |
|   },                                                                 |
|   "neighborhood": {                                                  |
|     "module": "OneHotEncoder",                                       |
|     "args": {}                                                       |
|   }                                                                  |
| },                                                                   |
| "dtype_dict": {                                                      |
|   "number_of_rooms": "categorical",                                  |
|   "number_of_bathrooms": "binary",                                   |
|   "sqft": "integer",                                                 |
|   "location": "categorical",                                         |
|   "days_on_market": "integer",                                       |
|   "neighborhood": "categorical",                                     |
|   "rental_price": "integer"                                          |
| },                                                                   |
| "dependency_dict": {},                                               |
| "model": {                                                           |
|   "module": "BestOf",                                                |
|   "args": {                                                          |
|     "submodels": [                                                   |
|       {                                                              |
|         "module": "Neural",                                          |
|         "args": {                                                    |
|           "fit_on_dev": true,                                        |
|           "stop_after": "$problem_definition.seconds_per_mixer",     |
|           "search_hyperparameters": true                             |
|         }                                                            |
|       },                                                             |
|       {                                                              |
|         "module": "LightGBM",                                        |
|         "args": {                                                    |
|           "stop_after": "$problem_definition.seconds_per_mixer",     |
|           "fit_on_dev": true                                         |
|         }                                                            |
|       },                                                             |
|       {                                                              |
|         "module": "Regression",                                      |
|         "args": {                                                    |
|           "stop_after": "$problem_definition.seconds_per_mixer"      |
|         }                                                            |
|       }                                                              |
|     ],                                                               |
|     "args": "$pred_args",                                            |
|     "accuracy_functions": "$accuracy_functions",                     |
|     "ts_analysis": null                                              |
|   }                                                                  |
| },                                                                   |
| "problem_definition": {                                              |
|   "target": "rental_price",                                          |
|   "pct_invalid": 2,                                                  |
|   "unbias_target": true,                                             |
|   "seconds_per_mixer": 57024.0,                                      |
|   "seconds_per_encoder": null,                                       |
|   "expected_additional_time": 8.687719106674194,                     |
|   "time_aim": 259200,                                                |
|   "target_weights": null,                                            |
|   "positive_domain": false,                                          |
|   "timeseries_settings": {                                           |
|     "is_timeseries": false,                                          |
|     "order_by": null,                                                |
|     "window": null,                                                  |
|     "group_by": null,                                                |
|     "use_previous_target": true,                                     |
|     "horizon": null,                                                 |
|     "historical_columns": null,                                      |
|     "target_type": "",                                               |
|     "allow_incomplete_history": true,                                |
|     "eval_cold_start": true,                                         |
|     "interval_periods": []                                           |
|   },                                                                 |
|   "anomaly_detection": false,                                        |
|   "use_default_analysis": true,                                      |
|   "ignore_features": [],                                             |
|   "fit_on_all": true,                                                |
|   "strict_mode": true,                                               |
|   "seed_nr": 420                                                     |
| },                                                                   |
| "identifiers": {},                                                   |
| "accuracy_functions": [                                              |
|   "r2_score"                                                         |
| ]                                                                    |
|}                                                                     |
+----------------------------------------------------------------------+

Need More Info?

If you need more information on how to DESCRIBE PREDICTOR or understand the results, feel free to ask us on the community Slack workspace.