# Models

A *model* is a set of type and function definitions that constitutes
meta-data descriptions about analyzed artifacts, along with
mathematical/statistical AI models to infer data based observed data
from the artifacts. For example, a model may infer that some device is
shaking by using a mathematical/statistical model computation based on
sensor reading from a device.

There is a number of predefined *system models* implementing some
common machine learning algorithms, such as **Linear
regression**,
**K-means**, **DBSCAN** and
**Random forest**.

*User models* can be defined that describe properties (meta-data) of
devices such as machines and sensors along with model computations
based on sensor readings from the device. The user models may be
stand-alone mathematical/statistical models or inference models
defined in terms of the predefined machine learning system models
above.

The models are stored in *model folders* as text files containing OSQL
scripts. The files can be edited through SA Studio or some text editor
and loaded into SA Engine peers. The section **Managing
models** explains
how to manage models in SA Engine.