Skip to content

On-premise users: click in-app to access the full platform documentation for your version of DataRobot.

Set up humility rules

MLOps allows you to create humility rules for deployments on the Settings > Humility tab. Humility rules enable models to recognize, in real time, when they make uncertain predictions or receive data they have not seen before. Unlike data drift, model humility does not deal with broad statistical properties over time—it is instead triggered for individual predictions, allowing you to set desired behaviors with rules that depend on different triggers. Using humility rules to add triggers and corresponding actions to a prediction helps mitigate risk for models in production. Humility rules help to identify and handle data integrity issues during monitoring and to better identify the root cause of unstable predictions.

The Settings > Humility tab contains the following sub-tabs:

Specific humility rules are available for multiseries projects. While they follow the same general workflow for humility rules as AutoML projects, they have specific settings and options.

Create humility rules

To create humility rules for a deployment:

  1. On the Dashboard, open a deployment and navigate to the Settings > Humility tab.

  2. On the Humility Rules Settings page, if you haven't enabled humility for a model, click the Enable humility toggle, then:

    • To create a new, custom rule, click + Add Rule.

    • To use the rules provided by DataRobot, click + Use Recommended Rules. This option generates two automatically configured humility rules:

      • Rule 1: An Uncertain prediction trigger and No operation action.

      • Rule 2: An Outlying input trigger, for the most important numeric feature based on Feature Impact results, and No operation action.

      Both recommended rules have automatically calculated upper- and lower-bound thresholds.

  3. Click the pencil icon () to enter a name for the rule, then, select a Trigger and an Action to take based on the selected trigger. The trigger detects a rule violation and the action handles the violating prediction. The trigger and action selection process differs for multiseries models:

    • Select a Trigger for the rule you want to create. Each trigger requires specific settings. The following table and subsequent sections describe these settings. There are three triggers available:

      Trigger Description To configure
      Uncertain prediction Detects whether a prediction's value violates the configured thresholds based on lower-bound and upper-bound thresholds for prediction values. Enter values either manually or click Calculate to use computed thresholds derived from the Holdout partition of the model (DataRobot models only).
      • For regression models, the trigger detects any values outside of the configured thresholds.
      • For binary classification models, the trigger detects any prediction's probability value that is inside the thresholds.
      You can view the type of model for your deployment from the deployment's Overview tab.
      Outlying input Detects if the input value of a numeric feature is outside of the configured thresholds. Select a numeric feature and set the lower-bound and upper-bound thresholds for its input values. Enter the values manually or click Calculate to use computed thresholds derived from the training data of the model (DataRobot models only).
      Low observation region Detects if the input value of a categorical feature value is not included in the list of specified values. Select a categorical feature and indicate one or more values. Any input value that appears in prediction requests that does not match the indicated values triggers an action.
    • Select an Action for the rule you are creating. DataRobot applies the action if the trigger indicates a rule violation. There are three actions available:

      Action Description To Configure
      Override prediction Modifies predicted values for rows violating the trigger with the value configured by the action. Set a value that will overwrite the returned value for predictions violating the trigger. For binary classification and multiclass models, the indicated value can be set to either of the model's class labels (e.g., "True" or "False"). For regression models, manually enter a value or use the maximum, minimum, or mean provided by DataRobot (DataRobot models only).
      Throw error Rows in violation of the trigger return a 480 HTTP error with the predictions, which also contributes to the data error rate on the Monitoring > Service health tab. Use the default error message provided or specify your own custom error message. This error message will appear along a 480 HTTP error with the predictions.
      No operation No changes are made to the detected prediction value. No configuration needed.

    DataRobot supports multiseries blueprints that support feature derivation and predictions using partial history or no history at all—series that were not trained previously and do not have enough points in the training dataset for accurate predictions. This is useful, for example, in demand forecasting. When a new product is introduced, you may want initial sales predictions. In conjunction with “cold start modeling” (modeling on a series in which there is not sufficient historical data), you can predict on new series, but also keep accurate predictions for series with a history. With the support in place, you can set up a humility rule that triggers on a new series (unseen in training data), takes a specified action, and, optionally, returns a custom error message. To do this, take the following steps:

    • Select a Trigger. To include new series data, select New series as the trigger. This rule detects if a series is present that was not available in the training data and does not have enough history in the prediction data for accurate predictions.

    • Select an Action. Subsequent options are dependent on the selected action, as described in the following table:

      Action If a new series is encountered... Further action
      No operation DataRobot records the event but the prediction is unchanged. N/A
      Use model with new series support The prediction is overridden by the prediction from a selected model with new series support. Select a model that supports unseen series modeling. DataRobot preloads supported models in the dropdown.
      Use global most frequent class (binary classification only) The prediction value is replaced with the most frequent class across all series. N/A
      Use target mean for all series (regression only) The prediction value is overridden by the global target mean for all series. N/A
      Override prediction The prediction value is changed to the specified preferred value. Enter a numeric value to replace the prediction value for any new series.
      Return error The default or a custom error is returned with the 480 error. Use the default or click in the box to enter a custom error message.

    If you select Use model with new series support, when you expand the Model with new series support dropdown, DataRobot provides a list of models available from the Registry, not from Workbench. Using models available from the registry decouples the model from the Use Case and provides support for packages. In this way, you can use a backup model from any compatible Use Case as long as it uses the same target and has the same series available.

    Note

    If you replace a model within a deployment using a model from a different Use Case, the humility rule is disabled. If the replacement is a model from the same Use Case, the rule is saved.

    When rule configuration is complete, a rule explanation displays below the rule describing what happens for the configured trigger and respective action.

  4. Click Add to save the rule, and click +Add new rule to add additional rules.

  5. After adding rules, click Submit.

    Warning

    Clicking Submit is the only way to permanently save new rules and rule changes. If you navigate away from the Humility tab without clicking Submit, your rules and edits to rules are not saved.

    Note

    If a rule is a duplicate of an existing rule, you cannot save it. In this case, when you click Submit, a warning displays:

    After you save and submit the humility rules, DataRobot monitors the deployment using the new rules and any previously created rules. After a rule is created, the prediction response body returns the humility object. Refer to the Prediction API documentation for more information.

Manage humility rules

You can edit or delete existing rules from the Humility > Rules tab if you have owner permissions:

Icon Action Description
Edit Change the trigger, action, and associated values for the rule. When finished, click Save Changes.
Delete Delete the entire humility rule from the rule list—trigger, action, and values.
Reorder Drag and drop the selected humility rule to a new place in the rule list.

Important

Edits to humility rules can have a significant impact on deployment predictions, as prediction values can be overwritten with new values or can return errors based on the rules configured.

After managing the humility rules, click Submit. If you navigate away from the Humility tab without clicking Submit, your changes will be lost.

Rule application order

The displayed list order of your rules determines the order in which they are applied. Although every humility rule trigger is applied, if multiple rules match the trigger of a prediction response, DataRobot applies the first rule in the list that changes the prediction value. However, if any triggered rule has the "Throw Error" action, that rule takes priority.

For example, consider a regression model deployment with the following rules:

Trigger Action Thresholds
Rule 1: Uncertain Prediction Override the prediction value to 55. Lower: 1

Upper: 50
Rule 2: Uncertain Prediction Override the prediction value to 66. Lower: 45

Upper: 50

If a prediction returns the value 100, both rules will trigger, as both rules detect an uncertain prediction outside of their thresholds. The first rule, Rule 1, takes priority, so the prediction value is overwritten to 55. The action to overwrite the value to 66 (based on Rule 2) is ignored.

In another example, consider a regression model deployment with the following rules:

Trigger Action Thresholds
Rule 1: Uncertain Prediction Override the prediction value to 55. Lower: 1

Upper: 50
Rule 2: Uncertain Prediction Throw an error. Lower: 45

Upper: 50

If a prediction returns the value 100, both rules will trigger; however, this time, Rule 2 takes priority over Rule 1 because it is configured to return an error. Therefore, the value is not overwritten, as the action to return an error is a higher priority than the numerical order of the rules.

Humility rules considerations

Consider the following when using Humility rules:

  • You cannot define more than 10 humility rules for a deployment.

  • Humility rules can only be defined by owners of the deployment. Users of the deployment can view the rules but cannot edit them or define new rules.

  • The "Uncertain Prediction" trigger is only supported for regression and binary classification models.

  • Multiclass models only support the "Override prediction" trigger.


Updated April 3, 2024