--- title: "Compliance Documentation" author: "Peter Hurford" date: "`r Sys.Date()`" output: rmarkdown::html_vignette: fig_caption: yes vignette: > %\VignetteIndexEntry{Compliance Documentation} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- **Compliance documentation** is a premium add-on product to DataRobot. It allows users to automatically generate and download documentation to assist with deploying models in highly regulated industries. ## Connect to DataRobot To explore compliance documentation, let's first connect to DataRobot. First, you must load the DataRobot R package library. If you have set up a credentials file, `library(datarobot)` will initialize a connection to DataRobot automatically. Otherwise, you can specify your `endpoint` and `apiToken` as in this example to connect to DataRobot directly. For more information on connecting to DataRobot, see the "Introduction to DataRobot" vignette. ```{r results = "asis", message = FALSE, warning = FALSE, eval = FALSE} library(datarobot) endpoint <- "https:///api/v2" apiToken <- "" ConnectToDataRobot(endpoint = endpoint, token = apiToken) ``` ## Download Compliance Documentation To download compliance documentation for a particular model, call `DownloadComplianceDocumentation` on a particular model and specify a filepath to download the documentation to. Note that it downloads in DOCX format. ```{r results = "asis", message = FALSE, warning = FALSE, eval = FALSE} DownloadComplianceDocumentation(model, "path/to/filename.docx") ``` ## Creating a Custom Template You can also use your own custom compliance documentation templates. #### The Default Template First, let's get the default template. This can be done just by using `GetComplianceDocTemplate`. It downloads as a JSON file. ```{r results = "asis", message = FALSE, warning = FALSE, eval = FALSE} GetComplianceDocTemplate("path/to/filename.json") ``` #### Updating the Default Template A common workflow for building your own template is downloading the default template and modifying it. ```{r results = "asis", message = FALSE, warning = FALSE, eval = FALSE} DownloadComplianceDocTemplate("path/to/filename.json") # ...then modify the compliance doc template in your favorite editor. UploadComplianceDocTemplate(name = "myNewTemplate", filename = "path/to/modified_file.json") ``` Alternatively, you can construct a template via a list: ```{r results = "asis", message = FALSE, warning = FALSE, eval = FALSE} sections <- list(list("title" = "Missing Values Report", "highlightedText" = "NOTICE", "regularText" = "This dataset had a lot of Missing Values. See the chart below: {{missingValues}}", "type" = "user"), list("title" = "Blueprints", "regularText" = "{{blueprintDiagram}} /n Blueprint for this model", "type" = "user")) UploadComplianceDocTemplate(name = "myNewTemplateFromSections", sections = sections) ``` You can then get and download your template: ```{r results = "asis", message = FALSE, warning = FALSE, eval = FALSE} myTemplate <- ListComplianceDocTemplates(namePart = "myNewTemplateFromSections")[[1]] DownloadComplianceDocTemplate(myTemplate) ``` #### Creating Custom Compliance Documentation from Custom Template Once you have a custom template made, you can use it to create custom compliance documentation: ```{r results = "asis", message = FALSE, warning = FALSE, eval = FALSE} myTemplate <- ListComplianceDocTemplates(namePart = "myNewTemplate")[[1]] CreateComplianceDocumentation(model, myTemplate) ``` #### Keyword Tags Custom keyword tags are supported for templates, embedding DataRobot generated content into the template. Each tag looks like {{ keyword }} and on generation will be replaced with corresponding content. Below you can find a table of currently supported tags: ``` +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | Tag | Type | Content | Web Application UI Analog | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | {{ blueprint_diagram }} | Image | Graphical representation of the modeling pipeline. | Leaderboard >> Model >> Describe >> Blueprint | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | {{ alternative_models }} | Table | Comparison of the model with alternatives | Leaderboard | | | | built in the same project. | | | | | Also known as challenger models. | | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | {{ model_features }} | Table | Description of the model features | Data >> Project Data | | | | and corresponding EDA statistics. | | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | {{ missing_values }} | Table | Description of the missing values and their | Leaderboard >> Model >> Describe >> Missing Values | | | | processing in the model. | | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | {{ partitioning }} | Image | Graphical representation of the data partitioning. | Data >> Show Advanced Options >> Partitioning | | | | | (only available before project start) | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | {{ model_scores }} | Table | Metric scores of the model on different data sources | Leaderboard >> Model | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | {{ lift_chart }} | Image | Lift chart. | Leaderboard >> Model >> Evaluate >> Lift Chart | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | {{ feature_impact }} | Image | Feature Impact chart. | Leaderboard >> Model >> Understand >> Feature Impact | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | {{ feature_impact_table }} | Table | Table representation of Feature Impact data. | Leaderboard >> Model >> Understand >> Feature Impact >> Export | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | {{ feature_effects }} | List of images | Feature Effects charts for the top 3 features. | Leaderboard >> Model >> Understand >> Feature Effects | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | {{ accuracy_over_time }} | Image | Accuracy over time chart. | Leaderboard >> Model >> Evaluate >> Accuracy Over Time | | | | Available only for datetime partitioned projects. | | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | {{ cv_scores }} | Table | Project metric scores for each fold. | Currently unavailable in the UI | | | | Available only for projects with cross validation. | | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | {{ roc_curve }} | | ROC Curve. | Leaderboard >> Model >> Evaluate >> ROC Curve | | | Image | Available only for binary classification projects. | | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | {{ confusion_matrix_summary }} | Table | Confusion matrix summary for the threshold with | Leaderboard >> Model >> Evaluate >> ROC Curve | | | | maximal F1 score value (default suggestion in UI). | | | | | Available only for binary classification projects. | | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ | {{ prediction_distribution }} | Image | Prediction distribution. | Leaderboard >> Model >> Evaluate >> ROC Curve | | | | Available only for binary classification projects. | | +--------------------------------+----------------+------------------------------------------------------+----------------------------------------------------------------+ ```