Regression

Regression models predict a numeric value. In Aporia, these models are represented with the regression model type.

Examples of regression problems:

  • What will the temperature be in Seattle tomorrow?

  • For product X, how many units will sell?

  • How many days until this customer stops using the application?

  • What price will this house sell for?

Integration

Regression predictions are usually represented in a database with a numeric column. For example:

id
feature1 (numeric)
feature2 (boolean)
predicted_temperature (numeric)
actual_temperature (numeric)
timestamp (datetime)

1

13.5

True

22.83

24.12

2017-01-01 12:00:00

2

123

False

26.04

25.99

2017-01-01 12:01:00

3

42

True

29.01

11.12

2017-01-01 12:02:00

To monitor this model, we will create a new model version with a schema that includes a numeric prediction:

apr_model = aporia.create_model_version(
  model_id="<MODEL_ID>", # You will need to create a model with this MODEL_ID in advance
  model_version="v1",
  model_type="regression"
  features={
     ...
  },
  predictions={
    "predicted_temperature": "numeric",
  },
)

To connect this model to Aporia from your data source, call the connect_serving(...) API:

apr_model.connect_serving(
  data_source=my_data_source,

  id_column="id",
  timestamp_column="timestamp",

  # Map the actual_temperature column as the label for the 
  # predicted_temperature. 
  labels={
    # Prediction name -> Column name
    "predicted_temperature": "actual_prediction"
  }
)

Check out the data sources section for more information about how to connect all other available data sources.

Don't want to connect to a database?

Don't worry - you can log your predictions directly to Aporia.

Last updated