DataRobot-Research/drdocs huggingface dataset:
---
title: Manage custom model dependencies
description: Describes how to manage these dependencies from the Workshop and update the base drop-in environments to support your model code.
---

#  Manage custom model dependencies {: #manage-custom-model-dependencies }

Custom models can contain various machine learning libraries in the model code, but not every [drop-in environment](drop-in-environments) provided by DataRobot natively supports all libraries. However, you can manage these dependencies from the Workshop and update the base drop-in environments to support your model code. To manage model dependencies, you must include a `requirements.txt` file uploaded as part of your custom model. The text file must indicate the machine learning libraries used in the model code.

For example, consider a custom R model that uses Caret and XGBoost libraries. If this model is added to the Workshop and the R drop-in environment is selected, the base environment will only support Caret, not XGBoost. To address this, edit `requirements.txt` to include the Caret and XGBoost dependencies. After editing and re-uploading the requirements file, the base environment includes XGBoost, making the model available within the environment.

!!! important
    Custom model dependencies aren't applied when testing a model locally with [DRUM](custom-model-drum).

List the following, depending on the model language, in `requirements.txt`:

* For R models, list the machine learning library dependencies.

    ![](images/depend-3.png)

* For Python models, list the dependencies <em>and</em> any version constraints for the libraries. Supported constraint types include `<`, `<=`, `==`, `>=`, `>`, and multiple constraints can be issued in a single entry (for example, `pandas >= 0.24, < 1.0`).

    ![](images/depend-4.png)

Once the requirements file is updated to include dependencies and constraints, navigate to your custom model's **Assemble** tab. Upload the file under the **Model > Content** header. The **Model Dependencies** field updates to display the dependencies and constraints listed in the file.

![](images/depend-1.png)

From the **Assemble** tab, select a base drop-in environment under the **Model Environment** header. DataRobot warns you that a new environment must be built to account for the model dependencies. Select **Build environment**, and DataRobot installs the required libraries and constraints to the base environment.

![](images/depend-2.png)

Once the base environment is updated, your custom model will be usable with the environment, allowing you to test, deploy, or register it.
---
title: Version 7.0.x maintenance releases
description: Maintenance releases for the DataRobot Release 7.0 major release.
---


# Version 7.0.x  maintenance releases {: #version-70x-maintenance-releases }

The following maintenance release notes include some fixed issues in the DataRobot Self-Managed AI Platform platform. See also the [features introduced in v7.0.0](v7.0/index), which was introduced _March 15, 2021_.


Version |	Release date
------- | -----------
[v7.0.3](v7.0.3-aml) | _December 21, 2021_
[v7.0.2](v7.0.2-aml) | _April 26, 2021_
[v7.0.1](v7.0.1-aml) | _March 29, 2021_
# Version 8.0.13 {: #version-8013 }

_March 27, 2023_

The DataRobot v8.0.13 release includes some fixed issues in the DataRobot Self-Managed AI Platform platform. See the v8.0.0 release notes for:

* [Features introduced in v8.0.0](v8.0.0-aml)

In addition to the issues listed below, DataRobot addressed several outstanding security issues. This release/update is part of DataRobot's continual effort to secure the product and platform.

## Issues fixed in v8.0.13 {: #issues-fixed-in-v8013 }

The following issues have been fixed since release v8.0.12:


### Model management {: #model-management }


- MMM-12257: Enables a model management configuration page for app admins, helping to speed up debugging and configuration changes in on-premise environments.

- MMM-12467: Fixes an issue with histogram ordering for targets in external binary classification deployments that are created with holdout predictions.

- RAPTOR-9117: Fixes an issue with deploying a custom model without training data to external prediction environment.

### No-code apps {: #nocode-apps }

- NCA-956: Disables redirects in NGINX to prevent overriding protocol (schema) in 3XX responses from AppsBuilder API.

### Predictions {: #predictions }

- PRED-8594: Fixes an issue where setting the `columnNamesRemapping` property for a batch prediction job definition through a `PATCH` request would fail when using a list as a payload, and would cause the keys to be forcefully snake cased when using a dictionary. 

### Platform {: #platform }

- BUILD-3598: The `expat` library has been upgraded to version 2.5.0. 

- DM-8224: `org.postgresql` has been upgraded from 42.4.1 to 42.5.1.

- MODEL-10852: Updated `tileserver-gl` and node packages.


- PCS-40: Embedded a PostgreSQL data upgrade capabilities into DataRobot installer. Details are available in the DataRobot installation guide.


### Time series  {: #time-series }

- TIME-12821: Removed misleading validation that restricted the insight computation to the max of 1000 forecast distances in absolute numbers. 

_All product and company names are trademarks&trade; or registered&reg; trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them_.
# Version 8.0.6 {: #version-806 }

_August 29, 2022_

The DataRobot v8.0.6 release includes a [new public preview feature](#project-duplication-with-settings-for-time-series-projects) as well as fixed issues in the DataRobot Self-Managed AI Platform platform. See the v8.0.0 release notes for:

* [Features introduced in v8.0.0](v8.0.0-aml)

In addition to the issues listed below, DataRobot addressed several outstanding security issues. This release/update is part of DataRobot's continual effort to secure the product and platform.

## Project duplication, with settings, for time series projects {: #project-duplication-with-settings-for-time-series-projects }

Now available for public preview, you can duplicate ("clone") any DataRobot project type, including unsupervised and time-aware projects like time series, OTV, and segmented modeling. Previously, [this capability](manage-projects#duplicate-a-project) was only available for AutoML projects (non time-aware regression and classification).

Duplicating a project provides an option to select the dataset only&mdash;which is faster than re-uploading it&mdash;or a dataset and project settings. For time-aware projects, this means cloning the target, the feature derivation and forecast window values, any selected calendars, KA, features, series IDs&mdash;all time series settings. If you used the [data prep](ts-data-prep#data-prep-for-time-series) tool to address irregular time step issues, cloning uses the modified dataset (which is the dataset used for model building in the parent project). You can access the **Duplicate** option from the Projects dropdown (upper right corner) or the Manage Project page.

![](images/proj-dup.png)

**Required feature flag:** Enable Cloning Time-Aware and Unsupervised Projects with Project Settings

## Issues fixed in v8.0.6 {: #issues-fixed-in-v806 }

The following issues have been fixed since release v8.0.5:

### Platform {: #platform }

- DM-6241: Larger S3 datasets are no longer truncated during ingestion when using an S3 connector.

### MLOps {: #mlops }

- MMM-10386: Shows API-provided error messages during deployment creation instead of generic messages.
- MMM-10443: Fixes an issue preventing the use of externally submitted scoring data for challenger scoring.

### Predictions {: #predictions }

- PRED-7685: Fixes an issue where Prediction Explanations could not be enabled for anomaly detection deployments through the UI.

### Time series {: #time-series }

- TIME-11451: The EWMA field can now be left blank.
- TIME-11579: Requests in eqpy are bumped to >2.20.
- TIME-11676: Optimizes Exponential Weighted Moving Average and Standard Deviation Features for faster execution.

_All product and company names are trademarks&trade; or registered&reg; trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them_.
---
title: Real-time scoring methods
description: Learn about DataRobot's available methods for making real-time predictions.
---

# Real-time scoring methods {: #real-time-scoring-methods }

Make real-time predictions by sending an HTTP request for a model via a synchronous call. After DataRobot receives the request, it immediately returns a response containing the prediction results.

The simplest method for making real-time predictions is to [deploy a model from the Leaderboard](add-deploy-info) and make prediction requests with the [Prediction API](dr-predapi).

After deploying a model, you can also navigate to a deployment's [**Prediction API**](code-py) tab to access and configure scripting code that allows you to make simple requests to score data. The deployment also hosts [integration snippets](integration-code-snippets).
To configure the **Time series options**, under **Time series prediction method**, select [**Forecast point** or **Forecast range**](ts-predictions#forecast-settings).

=== "Forecast point"

    Select **Forecast point** to choose the specific date from which you want to begin making predictions, and then select a **Forecast point selection method**:

    * **Automatic**: DataRobot sets the forecast point for you based on the scoring data.

        ![](images/ts-pred-jobs-makepred-1.png)

    * **Relative**: You set a forecast point relative to the start time of a scheduled prediction job. Then, you set the **Offset**. Select the number of **Months**, **Days**, **Hours**, and **Minutes** to offset from scheduled job runtime. Click **Before job time** or **After job time**, depending on how you want to apply the offset.
  
        ![](images/ts-batch-pred-jobs-forecast-pt-relative.png)

    * **Fixed**: You set the forecast point date.
    
        ![](images/ts-batch-pred-jobs-forecast-pt-fixed.png)

=== "Forecast range"

    Select **Forecast range** if you intend to make bulk, historical predictions (instead of forecasting future rows from the forecast point). Then, select a forecast range: 
    
    * **Use all dates from prediction source**: Predictions use all forecast distances within the selected time range. 
    
    * **Use specific date range**: Set a specific date range using the date selector.

    ![](images/ts-makepred-2.png)
---
title: Forecasting Accuracy
description: The Forecasting Accuracy tab provides a visual indicator of how well a model predicts at each forecast distance in the project's forecast window.

---

# Forecasting Accuracy {: #forecasting-accuracy }

The **Forecasting Accuracy** tab provides a visual indicator of how well a model predicts at each forecast distance in the project's forecast window. It is available for all [time series](time/index) projects (both single series and multiseries). Use it to help determine, for example, how much harder it is to accurately forecast four days out as opposed to two days out. The chart depicts how accuracy changes as you move further into the future.

![](images/ts-forecast-acc.png)

For each forecast distance, the points represent:

* Green (Backtest 1): the validation score displayed on the Leaderboard, which represents the validation score of the first (most recent) backtest.
* Blue (All Backtests): the backtesting score displayed on the Leaderboard, which represents the average validation score across all backtests.
* Red (Holdout): the holdout score.

You can change the optimization metric from the Leaderboard to change the display.
---
title: Workbench
description: Workbench provides an organizational hierarchy that, from a Use Case as the top-level asset, supports experimentation and sharing.

---

# Workbench {: #workbench }

The components and workflow that comprise DataRobot's Workbench interface are summarized in the following sections:

Topic   |   Describes...
---------|-----------------
[Getting started](wb-getstarted/index) | What is Workbench? Learn about the interface [architecture](wb-overview#architecture) and see a [glossary of terms](wb-glossary).
[Use Cases](wb-usecase/index) | Learn about Workbench Use Cases.
[Data preparation](wb-dataprep/index) | Learn how to connect, import, and wrangle your data.
[Experiments](wb-experiment/index) | Learn how to create, compare, and manage experiements.
[Predictions](wb-predict/index) | Learn how to make predictions in Workbench.
[No-Code AI Apps](wb-apps/index) | Learn how to configure AI-powered applications using a no-code interface.
[Notebooks](wb-notebook/index) | Learn how to access the in-browser editor to create and execute code for data science analysis and modeling.
[Capability matrix](wb-capability-matrix) | An evolving comparison of capabilities available in DataRobot Classic and Workbench.
---
title: Wrangle data
description: Apply transformations to a external source data, a Snowflake dataset for example, creating a recipe that can then be published to generate a new output dataset.
---

# Wrangle data {: #wrangle-data }

DataRobot's wrangling capabilities provide a seamless, scalable, and secure way to access and transform data for modeling. In Workbench, "wrangle" is a visual interface for executing data cleaning at the source, leveraging the compute environment and distributed architecture of your data source.

When you click **Wrangle**, DataRobot pulls a uniform random sample of 10000 rows and calculates Exploratory Data Insights on that sample, all while connected to your data source. Then, you build a recipe of operations you want to apply to the entire dataset&mdash;the transformations are first applied to the live sample to make sure it's being done correctly. When the recipe is ready to be published, it's pushed down to the data source where it's executed to materialize an output dataset.

Why wrangle data in DataRobot?

- It's fully integrated in Workbench&mdash;find the right datasets, apply transformations, and in realtime, see the effects of those transformations on your dataset in one place.
- It's pushed down&mdash;leverage the scale of your cloud data warehouse or lake.
- It's secure&mdash;limiting data movement means faster results, better performance, and enhanced security.

This section covers the following topics:

Topic       | Describes...
---------- | -----------
[Build a recipe](wb-add-operation)      | Build a recipe to interactively prepare data for modeling without moving it from your data source.
[Publish a recipe](wb-pub-recipe)      | Publish a recipe to push down transformations to your data source and generate an output dataset.
* Frozen thresholds are not supported.

* Blenders that contain monotonic models do not display the MONO label on the Leaderboard for OTV projects.

* When previewing predictions over time, the interval only displays for models that haven’t been retrained (for example, it won’t show up for models with the **Recommended for Deployment** badge).

* If you configure long backtest durations, DataRobot will still build models, but will not run backtests in cases where there is not enough data. In these case, the backtest score will not be available on the Leaderboard.

* Timezones on date partition columns are ignored. Datasets with multiple time zones may cause issues. The workaround is to convert to a single time zone outside of DataRobot. Also there is no support for daylight savings time.

* Dates before 1900 are not supported. If necessary, shift your data forward in time.

* Leap seconds are not currently supported.
{% if section(page, "dr-notebooks") %}

To add notebooks to DataRobot, navigate to the **Notebooks** page. This brings you the notebook dashboard, which hosts all notebooks currently available.

![](images/nb-28.png)

### Create notebooks {: #create-notebooks }

You can create and manage notebooks across DataRobot. To get started, create a notebook.

1. Click **Notebooks > Create new notebook**.

    ![](images/nb-1.png)

{% endif %}

{% if section(page, "workbench") %}

To add notebooks to a Use Case via Workbench, first select and navigate to the Use Case.

### Create notebooks {: #create-notebooks }

You can create and manage notebooks across DataRobot. To get started, create a notebook.

1. Click **Add new > Add notebook**.

    ![](images/wb-nb-1.png)

{% endif %}

2. When you create a notebook, you are brought to the notebook editing interface.

{% if section(page, "dr-notebooks") %}

    ![](images/nb-2.png)

{% endif %}

{% if section(page, "workbench") %}

    ![](images/wb-nb-2.png)

{% endif %}

|  | Element | Description |
|---|---|---|
| ![](images/icon-1.png) | Notebook name | The name of the notebook displayed at the top of the page and in the dashboard. Click on the pencil icon ![](images/icon-pencil.png) to rename it. |
| ![](images/icon-2.png) | Sidebar | Hosts options for configuring notebook settings as well as additional notebook capabilities. |
| ![](images/icon-3.png) | Cell | The body of the notebook, where you write and edit code with full syntax highlighting (code cells) or include explanatory and procedural text (Markdown cells). |
| ![](images/icon-4.png) | Menu bar | Provides the notebook environment status, display options, notebook management options, and a button to run the notebook. |

{% if section(page, "dr-notebooks") %}

Reference the DataRobot documentation for more information about [notebook settings](dr-settings-nb) and [cell actions](dr-action-nb).

{% else %}

Reference the DataRobot documentation for more information about [notebook settings](wb-settings-nb) and [cell actions](wb-action-nb).

{% endif %}

### Import notebooks {: #import-notebooks }

{% if section(page, "dr-notebooks") %}

To import existing Jupyter notebooks (in `.ipynb` format) into DataRobot, click **Notebooks > Upload notebook**.

![](images/nb-5.png)

{% endif %}

{% if section(page, "workbench") %}

To import existing Jupyter notebooks (in `.ipynb` format) into DataRobot, click **Add new > Upload notebook**.

![](images/wb-nb-5.png)

{% endif %}

Upload the notebook by providing a URL or selecting a local file. If using a URL, note that it must be a public URL that is not blocked by authentication. Once uploaded, the notebook will appear in the dashboard alongside those you have already created.

### Export notebooks {: #export-notebooks }

If you have a notebook that you would like to export, you can do so by downloading it as an .ipynb file. Select the actions menu ![](images/icon-menu.png) inside the notebook and then click **Download**.

{% if section(page, "dr-notebooks") %}

![](images/nb-25.png)

{% endif %}

{% if section(page, "workbench") %}

![](images/wb-nb-25.png)

{% endif %}
---
title: Triage insurance claims
description: Evaluate the severity of an insurance claim in order to triage it effectively.

---

# Triage insurance claims {: #triage-insurance-claims }

This page outlines a use case that assesses claim complexity and severity as early as possible to optimize claim routing, ensure the appropriate level of attention, and improve claimant communications. This use case is captured in:

* A [Jupyter notebook](claims.ipynb) that you can download and execute.
* A UI-based [business accelerator](insurance-claims).

{% include 'includes/triage-insurance-claims-include.md' %}

## Demo {:#demo}

See the notebook outlining this use case [here](claims.ipynb).
---
title: Use applications
description: Test different No-Code AI App configurations before sharing the app with end-users.

---

# Use applications {: #use-applications}

On the **Applications** tab, click **Open** next to the application you want to launch&mdash;from here you can test different application configurations before sharing it with users.

!!! note
    End-users must sign in with a DataRobot account or access the application via a [link that can be shared with users](app-settings#permissions) outside of DataRobot.

These sections describe the actions available when using No-Code AI Apps:

Topic       | Describes...
---------- | -----------
[Make predictions](app-make-pred)      | Make single record or batch predictions.
[Analyze prediction results](app-analyze-result)      | Analyze prediction information and insights for individual predictions.


## UI overview {: #ui-overview }

![](images/use-app-1.png)

| &nbsp; |  Element	| Description |
|---|---| ---|
| ![](images/icon-1.png) | Application name | Displays the application name. Click to return to the app's Home page.  |
| ![](images/icon-2.png) | Pages | Navigates between application pages.  |
| ![](images/icon-3.png) | Build | Allows you to edit the application.  |
| ![](images/icon-4.png) | [Share](current-app#share-applications)| Shares the application with users, groups, or organizations within DataRobot.  |
| ![](images/icon-5.png) | Add new row | Opens the **Create Prediction** page, where you can make single record predictions.  |
| ![](images/icon-6.png) | Add Data	| Uploads batch predictions&mdash;from the **AI Catalog** or a local file. |
| ![](images/icon-7.png) | All rows | Displays a history of predictions. Select a row to view prediction results for that entry.  |
---
title: Demand forecasting with the what-if app
description: Discover the problem framing and data management steps required to successfully model for churn, using a B2C retail example and a B2B example based on a DataRobot’s churn model.

---

# Demand forecasting with the what-if app {: #demand-forecasting-with-the-what-if-app }

[Access this AI accelerator on GitHub <span style="vertical-align: sub">:material-arrow-right-circle:{.lg }</span>](https://github.com/datarobot-community/ai-accelerators/tree/main/end-to-end/Demand_forecasting_what_if_app){ .md-button }

This demand forecasting what-if app allows you to adjust certain known in advance variable values to see how changes in those factors might affect the forecasted demand.

Some examples of factors that might be adjusted include marketing promotions, pricing, seasonality, or competitor activity. By using the app to explore different scenarios and adjust key inputs, you can make more accurate predictions about future demand and plan accordingly.

This app is a third installment of a three-part series on demand forecasting. The [first accelerator](https://github.com/datarobot-community/ai-accelerators/tree/main/end-to-end/End_to_end_demand_forecasting){ target=_blank } focuses on handling common data and modeling challenges, identifies common pitfalls in real-life time series data, and provides helper functions to scale experimentation. The [second accelerator](https://github.com/datarobot-community/ai-accelerators/tree/main/end-to-end/Demand_forecasting_cold_start){ target=_blank } provides the building blocks for cold start modeling workflow on series with limited or no history. They can be used as a starting point to create a model deployment for the app.
---
title: Deploy Scoring Code as a microservice
description: Follow a step-by-step procedure to embed Scoring Code in a microservice and prepare it as the Docker container for a deployment on customer infrastructure (it can be self- or hyperscaler-managed K8s).

---

# Deploy Scoring Code as a microservice {: #deploy-scoring-code-as-a-microservice}

[Access this AI accelerator on GitHub <span style="vertical-align: sub">:material-arrow-right-circle:{.lg }</span>](https://github.com/datarobot-community/ai-accelerators/tree/main/end-to-end/scoring-code-as-microservice){ .md-button }

This accelerator guides through the step-by-step procedure that makes it possible to embed scoring code in the microservice and to prepare it as the Docker container for the deployment on the customer infrastructure (it can be self or hyperscaler-managed K8s). The K8s configuration and deployment on K8s are out of scope. The accelerator also includes an example Maven project with the Java code.