# All metrics

<details>

<summary>How to use this page</summary>

This is a reference page. It shows all the metrics and metric presets available in the library, and their parameters.

You can use the menu on the right to navigate the sections. We organize the metrics by logical groups. Note that these groups do **not** match the presets with a similar name. For example, there are more Data Quality metrics below than in the `DataQualityPreset`.

You can use this reference page to discover additional metrics to include in your custom report.

## How to read the tables

* **Name**: the name of the metric of a preset.
* **Description**: plain text explanation of the metric, or the contents of the preset. For metrics, we also specify whether the metric applies to the whole dataset or individual columns.
* **Parameters**: description of the required parameters and optional parameters you can pass to the corresponding metric or preset. For metrics, we also specify the default conditions. They apply if you do not pass a custom parameter.

**Metric visualizations**. Each metric also includes a default render. If you want to see the visualization, navigate to the [example notebooks](https://github.com/francesco086/evidently/blob/doc-integration-dvclive/docs/book/get-started/examples.md) and run the notebook with all metrics or with all metric presets.

</details>

{% hint style="info" %}
We are doing our best to maintain this page up to date. In case of discrepancies, consult the [API reference](https://docs.evidentlyai.com/reference/api-reference) or the current version of the "All metrics" example notebook in the [Examples](https://francesco.gitbook.io/docs.evidentlyai.com/examples) section. If you notice an error, please send us a pull request to update the documentation!
{% endhint %}

## Metric Presets

**Defaults**: each Metric in a Preset uses the default parameters for this Metric. You can see them in the tables below.

| Preset name and Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          | Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><strong><code>DataQualityPreset</code></strong><br><br>Evaluates the data quality and provides descriptive stats.<br><br>Input features are required. Prediction and target are optional.<br><br><strong>Contents</strong>:<br><code>DatasetSummaryMetric()</code><br><code>ColumnSummaryMetric(column\_name=column\_name)</code> for <code>all</code> or <code>сolumns</code> if provided<br><code>DatasetMissingValuesMetric()</code><br><code>DatasetCorrelationsMetric()</code></p>                                                                                                                                                                                                                                                                                                           | <p><strong>Optional</strong>:<br><code>columns</code><br></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| <p><strong><code>DataDriftPreset</code></strong><br>Evaluates the data drift in the individual columns and the dataset.<br><br>Input features are required.<br><br><strong>Contents</strong>:<br><code>DataDriftTable(сolumns=сolumns)</code> or <code>all</code> if not listed<br><code>DatasetDriftMetric(сolumns=сolumns)</code> or <code>all</code> if not listed</p>                                                                                                                                                                                                                                                                                                                                                                                                                            | <p><strong>Optional</strong>:</p><ul><li><code>columns</code></li><li><code>stattest</code></li><li><code>cat\_stattest</code></li><li><code>num\_stattest</code></li><li><code>per\_column\_stattest</code></li><li><code>text\_stattest</code></li><li><code>stattest\_threshold</code></li><li><code>cat\_stattest\_threshold</code></li><li><code>num\_stattest\_threshold</code></li><li><code>per\_column\_stattest\_threshold</code></li><li><code>text\_stattest\_threshold</code></li><li><code>embeddings</code></li><li><code>embeddings\_drift\_method</code></li><li><code>drift\_share</code></li></ul><p><a href="../user-guide/customization/options-for-statistical-tests">How to set data drift parameters</a>, <a href="../user-guide/customization/embeddings-drift-parameters">embeddings drift parameters</a>.</p> |
| <p><strong><code>TargetDriftPreset</code></strong><br><br>Evaluates the prediction or target drift.<br><br>Target or prediction is required. Input features are optional.<br><br><strong>Contents</strong>:<br><code>ColumnDriftMetric(column\_name=target, prediction)</code><br><code>ColumnCorrelationsMetric(column\_name=target, prediction)</code><br><code>TargetByFeaturesTable(columns=columns)</code> or <code>all</code> if not listed<br><br>If regression:<br><code>ColumnValuePlot(column\_name=target, prediction)</code></p>                                                                                                                                                                                                                                                         | <p><strong>Optional</strong>:</p><ul><li><code>columns</code></li><li><code>stattest</code></li><li><code>cat\_stattest</code></li><li><code>num\_stattest</code></li><li><code>per\_column\_stattest</code></li><li><code>stattest\_threshold</code></li><li><code>cat\_stattest\_threshold</code></li><li><code>num\_stattest\_threshold</code></li><li><code>per\_column\_stattest\_threshold</code></li></ul><p><a href="../user-guide/customization/options-for-statistical-tests">How to set data drift parameters</a>.</p>                                                                                                                                                                                                                                                                                                        |
| <p><strong><code>RegressionPreset</code></strong><br>Evaluates the quality of a regression model.<br><br>Prediction and target are required. Input features are optional.<br><br><strong>Contents</strong>:<br><code>RegressionQualityMetric()</code><br><code>RegressionPredictedVsActualScatter()</code><br><code>RegressionPredictedVsActualPlot()</code><br><code>RegressionErrorPlot()</code><br><code>RegressionAbsPercentageErrorPlot()</code><br><code>RegressionErrorDistribution()</code><br><code>RegressionErrorNormality()</code><br><code>RegressionTopErrorMetric()</code><br><code>RegressionErrorBiasTable(columns=columns)</code>or <code>all</code> if not listed</p>                                                                                                             | <p><strong>Optional</strong>:<br><code>columns</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
| <p><strong><code>ClassificationPreset</code></strong><br>Evaluates the quality of a classification model.<br><br>Prediction and target are required. Input features are optional.<br><br><strong>Contents</strong>:<br><code>ClassificationQualityMetric()</code><br><code>ClassificationClassBalance()</code><br><code>ClassificationConfusionMatrix()</code><br><code>ClassificationQualityByClass()</code><br><br>If probabilistic classification, also:<br><code>ClassificationClassSeparationPlot()</code><br><code>ClassificationProbDistribution()</code><br><code>ClassificationRocCurve()</code><br><code>ClassificationPRCurve()</code><br><code>ClassificationPRTable()</code><br><code>ClassificationQualityByFeatureTable(columns=columns)</code> or <code>all</code> if not listed</p> | <p><strong>Optional</strong>:</p><ul><li><code>columns</code></li><li><code>probas\_threshold</code></li><li><code>k</code></li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| <p><strong><code>TextOverviewPreset(column\_name=”text”)</code></strong><br>Evaluates data drift and descriptive statistics for text data.<br><br>Input features (text) are required.<br><br><strong>Contents</strong>:<br><code>ColumnSummaryMetric()</code><br><code>TextDescriptorsDistribution()</code><br><code>TextDescriptorsCorrelation()</code><br><br>If reference data is provided, also:<br><code>ColumnDriftMetric()</code><br><code>TextDescriptorsDriftMetric()</code></p>                                                                                                                                                                                                                                                                                                            | <p><strong>Required</strong>:<br><code>column\_name</code></p>                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |

## Data Integrity

**Defaults for Missing Values**. The metrics that calculate the number or share of missing values detect four types of the values by default: Pandas nulls (None, NAN, etc.), "" (empty string), Numpy "-inf" value, Numpy "inf" value. You can also pass a custom missing values as a parameter and specify if you want to replace the default list. Example:

```python
DatasetMissingValuesMetric(missing_values=["", 0, "n/a", -9999, None], replace=True)
```

| Metric name                                                                     | Description                                                                                                                                                                                                                            | Parameters                                                                                                                                                                                                                                                                                                                                     |
| ------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **DatasetSummaryMetric()**                                                      | <p>Dataset-level.<br><br>Calculates various descriptive statistics for the dataset, incl. the number of columns, rows, cat/num features, missing values, empty values, and duplicate values.</p>                                       | <p><strong>Required</strong>:<br>n/a<br><br><strong>Optional:</strong></p><ul><li><code>missing\_values = \[], replace = True/False</code> (default = four types of missing values, see above)</li><li><code>almost\_constant\_threshold</code> (default = 0.95)</li><li><code>almost\_duplicated\_threshold</code> (default = 0.95)</li></ul> |
| **DatasetMissingValuesMetric()**                                                | <p>Dataset-level.<br><br>Calculates the number and share of missing values in the dataset. Displays the number of missing values per column.</p>                                                                                       | <p><strong>Required</strong>:<br>n/a<br><br><strong>Optional:</strong></p><ul><li><code>missing\_values = \[], replace = True/False</code> (default = four types of missing values, see above)</li></ul>                                                                                                                                       |
| **ColumnSummaryMetric**(column\_name="age")                                     | <p>Column-level.<br><br>Calculates various descriptive statistics for the column, incl. the number of missing, empty, duplicate values, etc.<br><br>The stats depend on the column type: numerical, categorical, text or DateTime.</p> | <p><strong>Required</strong>:<br><code>column\_name</code><br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                                                                                        |
| <p><strong>ColumnMissingValuesMetric</strong>(column\_name="education")<br></p> | <p>Column-level.<br><br>Calculates the number and share of missing values in the column.</p>                                                                                                                                           | <p><strong>Required</strong>:<br>n/a<br><br><strong>Optional:</strong></p><ul><li><code>missing\_values = \[], replace = True/False</code> (default = four types of missing values, see above)</li></ul>                                                                                                                                       |
| **ColumnRegExpMetric**(column\_name="relationship", reg\_exp=r".*child.*")      | <p>Column-level.<br><br>Calculates the number and share of the values that do not match a defined regular expression.</p>                                                                                                              | <p><strong>Required:</strong></p><ul><li><code>column\_name</code></li><li><code>reg\_exp</code></li></ul><p><strong>Optional:</strong></p><ul><li><code>top</code> (the number of the most mismatched columns to return, default = 10)</li></ul>                                                                                              |

## Data Quality

| Metric name                                                                                       | Description                                                                                                                                                                             | Parameters                                                                                                                                         |
| ------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------- |
| **ConflictPredictionMetric()**                                                                    | <p>Dataset-level.<br><br>Calculates the number of instances where the model returns a different output for an identical input. Can be a signal of low-quality model or data errors.</p> | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                  |
| **ConflictTargetMetric()**                                                                        | <p>Dataset-level.<br><br>Calculates the number of instances where there is a different target value or label for an identical input. Can be a signal of a labeling or data error.</p>   | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                  |
| **DatasetCorrelationsMetric()**                                                                   | <p>Dataset-level.<br><br>Calculates the correlations between the columns in the dataset. Visualizes the heatmap.</p>                                                                    | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                  |
| **ColumnDistributionMetric**(column\_name="education")                                            | <p>Column-level.<br><br>Plots the distribution histogram and returns bin positions and values for the given column.</p>                                                                 | <p><strong>Required:</strong><br><code>column\_name</code><br><br><strong>Optional:</strong><br>n/a</p>                                            |
| **ColumnValuePlot**(column\_name="education")                                                     | <p>Column-level.<br><br>Plots the values in time.</p>                                                                                                                                   | <p><strong>Required:</strong><br><code>column\_name</code><br><br><strong>Optional:</strong><br>n/a</p>                                            |
| <p><strong>ColumnQuantileMetric</strong>(column\_name="education-num", quantile=0.75)<br><br></p> | <p>Column-level.<br><br>Calculates the defined quantile value and plots the distribution for the given column.</p>                                                                      | <p><strong>Required:</strong></p><ul><li><code>column\_name</code></li><li><code>quantile</code></li></ul><p><strong>Optional:</strong><br>n/a</p> |
| **ColumnCorrelationsMetric**(column\_name="education")                                            | <p>Column-level.<br><br>Calculates the correlations between the defined column and all the other columns in the dataset.</p>                                                            | <p><strong>Required:</strong><br><code>column\_name</code><br><br><strong>Optional:</strong><br>n/a</p>                                            |
| **ColumnValueListMetric**(column\_name="relationship", values=\["Husband", "Unmarried"])          | <p>Column-level.<br><br>Calculates the number of values in the list / out of the list / not found in a given column. The value list should be specified.</p>                            | <p><strong>Required:</strong></p><ul><li><code>column\_name</code></li><li><code>values</code></li></ul><p><strong>Optional:</strong><br>n/a</p>   |
| **ColumnValueRangeMetric**(column\_name="age", left=10, right=20)                                 | <p>Column-level.<br><br>Calculates the number and share of values in the specified range / out of range in a given column. Plots the distributions.</p>                                 | <p><strong>Required:</strong></p><ul><li><code>column\_name</code></li><li><code>left</code></li><li><code>right</code></li></ul>                  |
| **TextDescriptorsDistribution**(column\_name=”text”)                                              | <p>Column-level.<br><br>Calculates and visualizes distributions for auto-generated text descriptors (text length, the share of out-of-vocabulary words, etc.)</p>                       | <p><strong>Required:</strong></p><ul><li><code>column\_name</code></li></ul>                                                                       |
| **TextDescriptorsCorrelationMetric**(column\_name=”text”)                                         | <p>Column-level.<br><br>Calculates and visualizes correlations between auto-generated text descriptors and other columns in the dataset.</p>                                            | <p><strong>Required:</strong></p><ul><li><code>column\_name</code></li></ul>                                                                       |

## Data Drift

**Defaults for Data Drift**. By default, all data drift tests use the Evidently [drift detection logic](https://francesco.gitbook.io/docs.evidentlyai.com/reference/data-drift-algorithm) that selects a different statistical test or metric based on feature type and volume. You always need a reference dataset.

To modify the logic or select a different test, you should set [data drift parameters](https://francesco.gitbook.io/docs.evidentlyai.com/user-guide/customization/options-for-statistical-tests) or [embeddings drift parameters](https://francesco.gitbook.io/docs.evidentlyai.com/user-guide/customization/embeddings-drift-parameters).

| Metric name                                         | Description                                                                                                                                                                                                                                                                                                    | Parameters                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
| --------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| <p><strong>DatasetDriftMetric()</strong><br></p>    | <p>Dataset-level.<br><br>Calculates the number and share of drifted features. Returns true/false for the dataset drift at a given threshold (defined by the share of drifting features). Each feature is tested for drift individually using the default algorithm, unless a custom approach is specified.</p> | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong></p><ul><li><code>сolumns</code> (default=all)</li><li><code>drift\_share</code>(default for dataset drift = 0.5)</li><li><code>stattest</code></li><li><code>cat\_stattest</code></li><li><code>num\_stattest</code></li><li><code>per\_column\_stattest</code></li><li><code>stattest\_threshold</code></li><li><code>cat\_stattest\_threshold</code></li><li><code>num\_stattest\_threshold</code></li><li><code>per\_column\_stattest\_threshold</code></li></ul><p><a href="../user-guide/customization/options-for-statistical-tests">How to set data drift parameters</a>.</p>                   |
| **DataDriftTable()**                                | <p>Dataset-level.<br><br>Calculates data drift for all columns in the dataset, or for a defined list of columns. Returns drift detection results for each column and visualizes distributions in a table. Uses the default drift algorithm of test selection, unless a custom approach is specified.</p>       | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong></p><ul><li><code>сolumns</code></li><li><code>stattest</code></li><li><code>cat\_stattest</code></li><li><code>num\_stattest</code></li><li><code>per\_column\_stattest</code></li><li><code>stattest\_threshold</code></li><li><code>cat\_stattest\_threshold</code></li><li><code>num\_stattest\_threshold</code></li><li><code>per\_column\_stattest\_threshold</code></li></ul><p><a href="../user-guide/customization/options-for-statistical-tests">How to set data drift parameters</a>, <a href="../user-guide/customization/embeddings-drift-parameters">embeddings drift parameters</a>.</p> |
| **ColumnDriftMetric('age')**                        | <p>Column-level.<br><br>Calculates data drift for a defined column (tabular or text). Visualizes distributions. Uses the default-selected test unless a custom is specified.</p>                                                                                                                               | <p><strong>Required:</strong></p><ul><li><code>column\_name</code></li></ul><p><br><strong>Optional:</strong></p><ul><li><code>stattest</code></li><li><code>stattest\_threshold</code></li></ul><p><a href="../user-guide/customization/options-for-statistical-tests">How to set data drift parameters</a></p>                                                                                                                                                                                                                                                                                                                                                              |
| **TextDescriptorsDriftMetric**(column\_name=”text”) | <p>Column-level.<br><br>Calculates data drift for auto-generated text descriptors and visualizes the distributions of text characteristics.</p>                                                                                                                                                                | <p><strong>Required:</strong></p><ul><li><code>column\_name</code></li></ul><p><br><strong>Optional:</strong></p><ul><li><code>stattest</code></li><li><code>stattest\_threshold</code></li></ul>                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **EmbeddingsDriftMetric**('small\_subset')          | <p>Column-level.<br><br>Calculates data drift for embeddings.</p>                                                                                                                                                                                                                                              | <p><strong>Required:</strong></p><ul><li><code>embeddings\_name</code></li></ul><p><br><strong>Optional:</strong></p><ul><li><code>drift\_method</code></li></ul><p><a href="../user-guide/customization/embeddings-drift-parameters">How to set embeddings drift parameters</a>.</p>                                                                                                                                                                                                                                                                                                                                                                                         |

## Classification

The metrics work both for probabilistic and non-probabilistic classification. All metrics are dataset-level.

| Metric name                               | Description                                                                                                                                                                                 | Parameters                                                                                                                                                                                                                                              |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **ClassificationDummyMetric()**           | Calculates the quality of the dummy model built on the same data. This can serve as a baseline.                                                                                             | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                       |
| **ClassificationQualityMetric()**         | Calculates various classification performance metrics, incl. precision, accuracy, recall, F1-score, TPR, TNR, FPR, and FNR. For probabilistic classification, also: ROC AUC score, LogLoss. | <p><strong>Required:</strong>:<br>n/a<br><br><strong>Optional:</strong></p><ul><li><code>probas\_threshold</code> (default for classification = None; default for probabilistic classification = 0.5)</li><li><code>k</code> (default = None)</li></ul> |
| **ClassificationClassBalance()**          | Calculates the number of objects for each label. Plots the histogram.                                                                                                                       | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                       |
| **ClassificationConfusionMatrix()**       | Calculates the TPR, TNR, FPR, FNR, and plots the confusion matrix.                                                                                                                          | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong></p><ul><li><code>probas\_threshold</code>(default for classification = None; default for probabilistic classification = 0.5)</li><li><code>k</code> (default = None)</li></ul>   |
| **ClassificationQualityByClass()**        | Calculates the classification quality metrics for each class. Plots the matrix.                                                                                                             | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong></p><ul><li><code>probas\_threshold</code>(default for classification = None; default for probabilistic classification = 0.5)</li><li><code>k</code> (default = None)</li></ul>   |
| **ClassificationClassSeparationPlot()**   | Visualization of the predicted probabilities by class. Applicable for probabilistic classification only.                                                                                    | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                       |
| **ClassificationProbDistribution()**      | Visualization of the probability distribution by class. Applicable for probabilistic classification only.                                                                                   | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                       |
| **ClassificationRocCurve()**              | Plots ROC Curve. Applicable for probabilistic classification only.                                                                                                                          | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                       |
| **ClassificationPRCurve()**               | Plots Precision-Recall Curve. Applicable for probabilistic classification only.                                                                                                             | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                       |
| **ClassificationPRTable()**               | Calculates the Precision-Recall table that shows model quality at a different decision threshold.                                                                                           | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                       |
| **ClassificationQualityByFeatureTable()** | Plots the relationship between feature values and model quality.                                                                                                                            | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong></p><ul><li><code>columns</code>(default = all categorical and numerical columns)</li></ul>                                                                                       |

## Regression

All metrics are dataset-level.

| Metric name                              | Description                                                                                                                                                                                                                                                          | Parameters                                                                                                                                                                                                                                                                                                   |
| ---------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **RegressionDummyMetric()**              | Calculates the quality of the dummy model built on the same data. This can serve as a baseline.                                                                                                                                                                      | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                                                                            |
| **RegressionQualityMetric()**            | Calculates various regression performance metrics, incl. Mean Error, MAE, MAPE, etc.                                                                                                                                                                                 | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                                                                            |
| **RegressionPredictedVsActualScatter()** | Visualizes predicted vs actual values in a scatter plot.                                                                                                                                                                                                             | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                                                                            |
| **RegressionPredictedVsActualPlot()**    | Visualizes predicted vs. actual values in a line plot.                                                                                                                                                                                                               | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                                                                            |
| **RegressionErrorPlot()**                | Visualizes the model error (predicted - actual) in a line plot.                                                                                                                                                                                                      | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                                                                            |
| **RegressionAbsPercentageErrorPlot()**   | Visualizes the absolute percentage error in a line plot.                                                                                                                                                                                                             | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                                                                            |
| **RegressionErrorDistribution()**        | Visualizes the distribution of the model error in a histogram.                                                                                                                                                                                                       | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                                                                            |
| **RegressionErrorNormality()**           | Visualizes the quantile-quantile plot (Q-Q plot) to estimate value normality.                                                                                                                                                                                        | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong><br>n/a</p>                                                                                                                                                                                                                            |
| **RegressionTopErrorMetric()**           | <p>Calculates the regression performance metrics for different groups: top-X% of predictions with overestimation, top-X% of predictions with underestimation, and the rest.<br>Visualizes the group division on a scatter plot with predicted vs. actual values.</p> | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong></p><ul><li><code>top\_error</code> (default=0.05; the metrics are calculated for top-5% predictions with overestimation and underestimation).</li></ul>                                                                               |
| **RegressionErrorBiasTable()**           | Plots the relationship between feature values and model quality per group (for top-X% error groups, as above).                                                                                                                                                       | <p><strong>Required:</strong><br>n/a<br><br><strong>Optional:</strong></p><ul><li><code>columns</code>(default = all categorical and numerical columns)</li><li><code>top\_error</code> (default=0.05; the metrics are calculated for top-5% predictions with overestimation and underestimation).</li></ul> |

## Ranking and Recommendations

All metrics are dataset-level.

Optional shared parameters for multiple metrics:

* `no_feedback_users: bool = False`. Specifies whether to include the users who did not select any of the items, when computing the quality metric. Default: False.
* `min_rel_score: Optional[int] = None`. Specifies the minimum relevance score to consider relevant when calculating the quality metrics.

| Metric name               | Description                                                  | Parameters                                                                                                                                                                                                                       |
| ------------------------- | ------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **RecallTopKMetric()**    | Calculates the recall at top 'k'.                            | <p><strong>Required</strong>:</p><ul><li><code>k</code></li></ul><p><strong>Optional:</strong></p><ul><li><code>no\_feedback\_users</code></li><li><code>min\_rel\_score</code></li></ul>                                        |
| **PrecisionTopKMetric()** | Calculates the precision at top 'k'.                         | <p><strong>Required</strong>:</p><ul><li><code>k</code></li></ul><p><strong>Optional:</strong></p><ul><li><code>no\_feedback\_users</code></li><li><code>min\_rel\_score</code></li></ul>                                        |
| **FBetaTopKMetric()**     | Calculates the F-measure at top 'k'.                         | <p><strong>Required</strong>:</p><ul><li><code>beta</code>(default = 1)</li><li><code>k</code></li></ul><p><strong>Optional:</strong></p><ul><li><code>no\_feedback\_users</code></li><li><code>min\_rel\_score</code></li></ul> |
| **MAPKMetric()**          | Calculates the Mean Average Precision (MAP) at 'k'.          | <p><strong>Required</strong>:</p><ul><li><code>k</code></li></ul><p><strong>Optional:</strong></p><ul><li><code>no\_feedback\_users</code></li><li><code>min\_rel\_score</code></li></ul>                                        |
| **MARKMetric()**          | Calculates the Mean Average Recall (MAR) at `k`.             | <p><strong>Required</strong>:</p><ul><li><code>k</code></li></ul><p><strong>Optional:</strong></p><ul><li><code>no\_feedback\_users</code></li><li><code>min\_rel\_score</code></li></ul>                                        |
| **NDCGKMetric()**         | Calculates the Normalized Discounted Cumulative Gain at `k`. | <p><strong>Required</strong>:</p><ul><li><code>k</code></li></ul><p><strong>Optional:</strong></p><ul><li><code>no\_feedback\_users</code></li><li><code>min\_rel\_score</code></li></ul>                                        |
