Skip to content

Train a model from Microsoft SQL Server

Train new model

To train a new model, you will need to INSERT a new record inside the mindsdb.predictors table.

How to create the mindsb.predictors table

Note that after connecting the MindsDB and Microsoft SQL server, on start, the MindsDB server will automatically create the mindsdb database and add the predictors table.

Prerequisite

Don't forget to install the prerequisites as explained in connect your data section.

There are both options for training the model by using the openquery or exec statement. The INSERT query for training new model using exec statement:

exec ('INSERT INTO mindsdb.predictors (name, predict, select_data_query) VALUES (''model_name'', ''target_variable'', ''SELECT * FROM table_name'')') AT mindsdb;
Or, openquery:

INSERT openquery(mindsdb,'SELECT name, predict, select_data_query FROM mindsdb.predictors WHERE 1=0') VALUES ('model_name','target_variable','SELECT * FROM table_name');

The values provided in the INSERT query are:

  • name (string) -- The name of the model.
  • predict (string) -- The feature you want to predict. To predict multiple features, include a comma separated string, e.g. 'feature1,feature2'.
  • select_data_query (string) -- The SELECT query that will ingest the data to train the model.
  • training_options (JSON as comma separated string) -- optional value that contains additional training parameters. For a full list of parameters, check the PredictorInterface.

Train model from mssql client

Train new model example

The following example shows you how to train a new model from a mssql client. The table used for training the model is the Medical insurance dataset.

exec ('INSERT INTO mindsdb.predictors (name, predict, select_data_query) 
VALUES ("insurance_model", "charges", "SELECT * FROM mindsdb_test.dbo.insurance")') 
AT mindsdb;

This INSERT query will train a new model called insurance_model that predicts the charges value.

Model training status

To check that the training finished successfully, you can SELECT from the mindsdb.predictors table and get the training status, e.g.:

exec ('SELECT * FROM mindsdb.predictors') AT mindsdb;

Note: mindsdb is the name of the api['mysql]['database'] key from config.json. The default name is mindsdb.

Training model status

That's it 🎉 🏆 💻

You have successfully trained a new model from a Microsoft SQL Server. The next step is to get predictions by querying the model.

Comments