Creating a Model

To create a model, use the CREATE MODEL statement.

CREATE MODEL mindsdb.home_rentals
FROM example_db
    (SELECT * FROM demo_data.home_rentals)
PREDICT rental_price
USING engine = 'lightwood',
      tag = 'my model';

Now, your model has one version. You can verify by querying the models table.

DESCRIBE MODEL home_rentals;

On execution, we get:

+------------+---------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+
|NAME        |ENGINE   |PROJECT|ACTIVE|VERSION|STATUS  |ACCURACY|PREDICT     |UPDATE_STATUS|MINDSDB_VERSION|ERROR |SELECT_DATA_QUERY                   |TRAINING_OPTIONS                       |CURRENT_TRAINING_PHASE|TOTAL_TRAINING_PHASES|TAG   |CREATED_AT                |TRAINING_TIME|
+------------+---------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+
|home_rentals|lightwood|mindsdb|true  |1      |complete|0.999   |rental_price|up_to_date   |22.11.3.2      |[NULL]|SELECT * FROM demo_data.home_rentals|{'target': 'rental_price', 'using': {}}|5                     |5                    |[NULL]|2024-02-07 16:01:04.990958|19.946       |
+------------+---------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+

Retraining a Model

To retrain a model, use the RETRAIN statement.

RETRAIN mindsdb.home_rentals;

Let’s query for the model versions again.

DESCRIBE MODEL home_rentals;

On execution, we get:

+------------+---------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+
|NAME        |ENGINE   |PROJECT|ACTIVE|VERSION|STATUS  |ACCURACY|PREDICT     |UPDATE_STATUS|MINDSDB_VERSION|ERROR |SELECT_DATA_QUERY                   |TRAINING_OPTIONS                       |CURRENT_TRAINING_PHASE|TOTAL_TRAINING_PHASES|TAG   |CREATED_AT                |TRAINING_TIME|
+------------+---------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+
|home_rentals|lightwood|mindsdb|true  |1      |complete|0.999   |rental_price|up_to_date   |22.11.3.2      |[NULL]|SELECT * FROM demo_data.home_rentals|{'target': 'rental_price', 'using': {}}|5                     |5                    |[NULL]|2024-02-07 16:01:04.990958|19.946       |
|home_rentals|lightwood|mindsdb|true  |2      |complete|0.999   |rental_price|up_to_date   |22.11.3.2      |[NULL]|SELECT * FROM demo_data.home_rentals|{'target': 'rental_price', 'using': {}}|5                     |5                    |[NULL]|2024-02-07 17:01:04.990958|21.923       |
+------------+---------+-------+------+-------+--------+--------+------------+-------------+---------------+------+------------------------------------+---------------------------------------+----------------------+---------------------+------+--------------------------+-------------+

Using Active Model Version

To use the currently active model version, run this query:

SELECT *
FROM mindsdb.home_rentals AS p
JOIN example_db.demo_data.home_rentals AS d;

Using Specific Model Version

To use a specific model version, even if it is set to inactive, run this query:

SELECT *
FROM mindsdb.home_rentals.1 AS p
JOIN example_db.demo_data.home_rentals AS d;

Setting Model Version as Active

To set a specific model version as active, run the below statement:

SET model_active = home_rentals.1;

Deleting Specific Model Version

To delete a specific model version, run the below statement:

DROP MODEL home_rentals.2

Please note that you cannot delete the version that is active.

Deleting All Model Versions

To delete all models version, run the DROP MODEL statement:

DROP MODEL mindsdb.home_rentals;