Model Monitoring Output Table Schema

The Model Monitoring Output Table provides the schema for model monitoring output. The output data is written to a table specified by the user in the job request. This is a mandatory input. This table is created by Oracle Machine Learning Service and its format depends on the job type.

Output Data Format: The output data is written to the user specified output tables. This table is created by Oracle Machine Learning Services and its format also depends on the job type. The output schema name is outputSchemaName. You can overwrite the default by the outputSchemaName attribute.

Note:

Access to data sources is managed by database privileges.
The generated columns are prefixed with oml$ to distinguish them from supplemental column names which are copied as provided by the user.

Note:

The details are not generated unless topNDetails is set in the job request.

Model Monitoring Output Table

The model monitoring output is stored in a relational table. A JSON column stores a variety of relevant metrics, including prediction statistics and features with most impact for each model. Columns used for indexing and/or as common filters are in 2D format.

Table - Model Monitoring Output Table

Columns Type Description
START_TIME TIMESTAMP WITH TIME ZONE Start time of the monitoring
END_TIME TIMESTAMP WITH TIME ZONE End time of the monitoring
IS_BASELINE NUMBER(1) Indicates whether metrics are from baseline data. 1 indicates TRUE, and 0 indicates FALSE
MODEL_ID VARCHAR2 model ID.
METRIC NUMBER The value of the specified model performance metric
HAS_DRIFT NUMBER(1) Indicates whether a drift is detected. 1 indicates TRUE, and 0 indicates FALSE. Drift captures the relative change in performance between the baseline data and the new data period.
  • A drift above this threshold indicates a significant change in model predictions. Exceeding the threshold indicates that rebuilding and redeploying your model may be necessary.
  • A drift below this threshold indicates that there are insufficient changes in the data to warrant further investigation or action.
DRIFT NUMBER The magnitude of the drift
MODEL_TYPE VARCHAR2 "CLASSIFICATION" or "REGRESSION"
THRESHOLD NUMBER Value used to decide has_drift value.
MODEL_METRICS CLOB Regression
{ 
    "R2": number,
    "Mean squared error": number,
    "Mean absolute error": number,
    "Median absolute error": number,
    "prediction_statistics":
    {   
        "population_stability_index": number, 
        "mean_value": number,
        "min_value": number,
        "max_value": number,
        "standard_deviation": number
        "bin_distribution": [
           {
              "bin_upper_boundary": number,
              "bin_percentage": number
           },
           ...
           {
              "bin_upper_boundary": null,
              "bin_percentage": number
           }
        ],
     },
     "most_impactful_features": [
        {
           "feature_name": string,
           "feature_impact": number
        },
        ......
     ]
}

Binary Classification

{
   "Accuracy": number,
   "Balanced Accuracy": number,
   "ROC AUC": number,
   "F1": number,
   "Precision": number,
   "Recall": number,
   "prediction_statistics":
   {
     "population_stability_index": number,
     "mean_value": number,
     "min_value": number,
     "max_value": number,
     "standard_deviation": number,
     "bin_distribution": [
        {
           "bin_upper_boundary": number,
           "bin_percentage": number
        },
        ...
        {
           "bin_upper_boundary": null,
           "bin_percentage": number
        }
     ],
     "class_distribution": [
        {
           "class": string,
           "class_percentage": number
        },
        ......
     ]
    },
    "most_impactful_features":
    [
      {
         "feature_name": string,
         "feature_impact": number
      },
      ......
    ]
}

Multi-class Classification

{
   "Accuracy": number,
   "Balanced Accuracy": number,
   "macro_averaged": {
      "F1": number,
      "Precision": number,
      "Recall": number
   },
   "weighted_averaged": {
      "F1": number,
      "Precision": number,
      "Recall": number
   },
   "prediction_statistics": {
     "population_stability_index": number,
     "class_distribution": [
        {
           "class": string,
           "class_percentage": number
        },
        ......
     ]
    },
    "most_impactful_features": [
      {
         "feature_name": string,
         "feature_impact": number
      },
      ......
    ]
}