This tutorial uses the Lightwood integration that requires the
mindsdb/mindsdb:lightwood Docker image. Learn more here.Connect a data source
We start by connecting a demo database to MindsDB using theCREATE DATABASE statement.
Deploy and train an ML model
Now, lets specify that we want to forecast thema column, which is a moving average of the historical median price for house sales. Looking at the data, you can see several entries for the same date, which depend on two factors: how many bedrooms the properties have, and whether properties are “houses” or “units”. This means that we can have up to ten different groupings here. Let’s look at the data for one of them.
CREATE MODEL statement, where we specify what data to train FROM and what we want to PREDICT.
Make predictions
Once the model’s status is complete, you can query it as a table to get forecasts for a given period of time. Usually, you’ll want to know what happens right after the latest training data point that was fed, for which we have a special bit of syntax, theLATEST keyword.
type and bedrooms columns and check how the forecast varies. This is because MindsDB recognizes each grouping as being its own different time series.
Automate continuous improvement of the model
Now, we can take this even further. MindsDB includes powerful automation features called Jobs which allow us to automate queries in MindsDB. This is very handy for production AI/ML systems which all require automation logic to help them to work. We use theCREATE JOB statement to create a Job.
Now, let’s use a Job to retrain the model every two days, just like we might in production. You can retrain the model to improve predictions every time when either new data or new MindsDB version is available. And, if you want to retrain your model considering only new data, then go for finetuning it.
house_sales table. Learn more about the LAST keyword here.
And there you have it! You created an end-to-end automated production ML system in a few short minutes.