# evidently.calculations

## Subpackages

* [evidently.calculations.stattests package](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations/evidently.calculations.stattests)
  * [Submodules](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#submodules)
  * [anderson\_darling\_stattest module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.anderson_darling_stattest)
  * [chisquare\_stattest module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.chisquare_stattest)
  * [cramer\_von\_mises\_stattest module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.cramer_von_mises_stattest)
    * [`CramerVonMisesResult`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.cramer_von_mises_stattest.CramerVonMisesResult)
  * [energy\_distance module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.energy_distance)
  * [epps\_singleton\_stattest module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.epps_singleton_stattest)
  * [fisher\_exact\_stattest module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.fisher_exact_stattest)
  * [g\_stattest module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.g_stattest)
  * [hellinger\_distance module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.hellinger_distance)
  * [jensenshannon module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.jensenshannon)
  * [kl\_div module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.kl_div)
  * [ks\_stattest module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.ks_stattest)
  * [mann\_whitney\_urank\_stattest module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.mann_whitney_urank_stattest)
  * [psi module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.psi)
  * [registry module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.registry)
    * [`StatTest`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.registry.StatTest)
      * [`StatTest.allowed_feature_types`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.registry.StatTest.allowed_feature_types)
      * [`StatTest.default_threshold`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.registry.StatTest.default_threshold)
      * [`StatTest.display_name`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.registry.StatTest.display_name)
      * [`StatTest.func`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.registry.StatTest.func)
      * [`StatTest.name`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.registry.StatTest.name)
    * [`StatTestInvalidFeatureTypeError`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.registry.StatTestInvalidFeatureTypeError)
    * [`StatTestNotFoundError`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.registry.StatTestNotFoundError)
    * [`StatTestResult`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.registry.StatTestResult)
      * [`StatTestResult.actual_threshold`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.registry.StatTestResult.actual_threshold)
      * [`StatTestResult.drift_score`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.registry.StatTestResult.drift_score)
      * [`StatTestResult.drifted`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.registry.StatTestResult.drifted)
    * [`get_stattest()`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.registry.get_stattest)
    * [`register_stattest()`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.registry.register_stattest)
  * [t\_test module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.t_test)
  * [tvd\_stattest module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.tvd_stattest)
  * [utils module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.utils)
    * [`generate_fisher2x2_contingency_table()`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.utils.generate_fisher2x2_contingency_table)
    * [`get_binned_data()`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.utils.get_binned_data)
    * [`get_unique_not_nan_values_list_from_series()`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.utils.get_unique_not_nan_values_list_from_series)
    * [`permutation_test()`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.utils.permutation_test)
  * [wasserstein\_distance\_norm module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.wasserstein_distance_norm)
  * [z\_stattest module](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#module-evidently.calculations.stattests.z_stattest)
    * [`proportions_diff_z_stat_ind()`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.z_stattest.proportions_diff_z_stat_ind)
    * [`proportions_diff_z_test()`](https://francesco.gitbook.io/docs.evidentlyai.com/reference/api-reference/evidently.calculations.stattests#evidently.calculations.stattests.z_stattest.proportions_diff_z_test)

## Submodules

## classification\_performance module <a href="#module-evidently.calculations.classification_performance" id="module-evidently.calculations.classification_performance"></a>

### class ConfusionMatrix(labels: Sequence\[Union\[str, int]], values: list)

Bases: `object`

#### Attributes:

&#x20;    **labels : Sequence\[Union\[str, int]]**

&#x20;    **values : list**

### class DatasetClassificationQuality(accuracy: float, precision: float, recall: float, f1: float, roc\_auc: Optional\[float] = None, log\_loss: Optional\[float] = None, tpr: Optional\[float] = None, tnr: Optional\[float] = None, fpr: Optional\[float] = None, fnr: Optional\[float] = None, rate\_plots\_data: Optional\[Dict] = None, plot\_data: Optional\[Dict] = None)

Bases: `object`

#### Attributes:

&#x20;    **accuracy : float**

&#x20;    **f1 : float**

&#x20;    **fnr : Optional\[float] = None**

&#x20;    **fpr : Optional\[float] = None**

&#x20;    **log\_loss : Optional\[float] = None**

&#x20;    **plot\_data : Optional\[Dict] = None**

&#x20;    **precision : float**

&#x20;    **rate\_plots\_data : Optional\[Dict] = None**

&#x20;    **recall : float**

&#x20;    **roc\_auc : Optional\[float] = None**

&#x20;    **tnr : Optional\[float] = None**

&#x20;    **tpr : Optional\[float] = None**

### class PredictionData(predictions: pandas.core.series.Series, prediction\_probas: Optional\[pandas.core.frame.DataFrame], labels: List\[Union\[str, int]])

Bases: `object`

#### Attributes:

&#x20;    **labels : List\[Union\[str, int]]**

&#x20;    **prediction\_probas : Optional\[DataFrame]**

&#x20;    **predictions : Series**

### calculate\_confusion\_by\_classes(confusion\_matrix: ndarray, class\_names: Sequence\[Union\[str, int]])

Calculate metrics:

* TP (true positive)
* TN (true negative)
* FP (false positive)
* FN (false negative) for each class from confusion matrix.
* **Returns**

  a dict like:

  ```default
  {
      "class_1_name": {
          "tp": 1,
          "tn": 5,
          "fp": 0,
          "fn": 3,
      },
      "class_1_name": {
          "tp": 1,
          "tn": 5,
          "fp": 0,
          "fn": 3,
      },
  }
  ```

### calculate\_matrix(target: Series, prediction: Series, labels: List\[Union\[str, int]])

### calculate\_metrics(column\_mapping: [ColumnMapping](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.pipeline#evidently.pipeline.column_mapping.ColumnMapping), confusion\_matrix: ConfusionMatrix, target: Series, prediction: PredictionData)

### calculate\_pr\_table(binded)

### collect\_plot\_data(prediction\_probas: DataFrame)

### get\_prediction\_data(data: DataFrame, data\_columns: [DatasetColumns](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.utils#evidently.utils.data_operations.DatasetColumns), pos\_label: Optional\[Union\[str, int]], threshold: float = 0.5)

Get predicted values and optional prediction probabilities from source data. Also take into account a threshold value - if a probability is less than the value, do not take it into account.

Return and object with predicted values and an optional prediction probabilities.

### k\_probability\_threshold(prediction\_probas: DataFrame, k: Union\[int, float])

### threshold\_probability\_labels(prediction\_probas: DataFrame, pos\_label: Union\[str, int], neg\_label: Union\[str, int], threshold: float)

Get prediction values by probabilities with the threshold apply

## data\_drift module <a href="#module-evidently.calculations.data_drift" id="module-evidently.calculations.data_drift"></a>

Methods and types for data drift calculations.

### class ColumnDataDriftMetrics(column\_name: str, column\_type: str, stattest\_name: str, drift\_score: float, drift\_detected: bool, threshold: float, current\_distribution: [Distribution](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.utils#evidently.utils.visualizations.Distribution), reference\_distribution: [Distribution](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.utils#evidently.utils.visualizations.Distribution), current\_small\_distribution: Optional\[list] = None, reference\_small\_distribution: Optional\[list] = None, current\_scatter: Optional\[Dict\[str, list]] = None, x\_name: Optional\[str] = None, plot\_shape: Optional\[Dict\[str, float]] = None, current\_correlations: Optional\[Dict\[str, float]] = None, reference\_correlations: Optional\[Dict\[str, float]] = None)

Bases: `object`

One column drift metrics.

#### Attributes:

&#x20;    **column\_name : str**

&#x20;    **column\_type : str**

&#x20;    **current\_correlations : Optional\[Dict\[str, float]] = None**

&#x20;    **current\_distribution :** [**Distribution**](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.utils#evidently.utils.visualizations.Distribution)

&#x20;    **current\_scatter : Optional\[Dict\[str, list]] = None**

&#x20;    **current\_small\_distribution : Optional\[list] = None**

&#x20;    **drift\_detected : bool**

&#x20;    **drift\_score : float**

&#x20;    **plot\_shape : Optional\[Dict\[str, float]] = None**

&#x20;    **reference\_correlations : Optional\[Dict\[str, float]] = None**

&#x20;    **reference\_distribution :** [**Distribution**](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.utils#evidently.utils.visualizations.Distribution)

&#x20;    **reference\_small\_distribution : Optional\[list] = None**

&#x20;    **stattest\_name : str**

&#x20;    **threshold : float**

&#x20;    **x\_name : Optional\[str] = None**

### class DatasetDrift(number\_of\_drifted\_columns: int, dataset\_drift\_score: float, dataset\_drift: bool)

Bases: `object`

Dataset drift calculation results

#### Attributes:

&#x20;    **dataset\_drift : bool**

&#x20;    **dataset\_drift\_score : float**

&#x20;    **number\_of\_drifted\_columns : int**

### class DatasetDriftMetrics(number\_of\_columns: int, number\_of\_drifted\_columns: int, share\_of\_drifted\_columns: float, dataset\_drift: bool, drift\_by\_columns: Dict\[str, ColumnDataDriftMetrics], options: [DataDriftOptions](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.options#evidently.options.data_drift.DataDriftOptions), dataset\_columns: [DatasetColumns](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.utils#evidently.utils.data_operations.DatasetColumns))

Bases: `object`

#### Attributes:

&#x20;    **dataset\_columns :** [**DatasetColumns**](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.utils#evidently.utils.data_operations.DatasetColumns)

&#x20;    **dataset\_drift : bool**

&#x20;    **drift\_by\_columns : Dict\[str, ColumnDataDriftMetrics]**

&#x20;    **number\_of\_columns : int**

&#x20;    **number\_of\_drifted\_columns : int**

&#x20;    **options :** [**DataDriftOptions**](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.options#evidently.options.data_drift.DataDriftOptions)

&#x20;    **share\_of\_drifted\_columns : float**

### ensure\_prediction\_column\_is\_string(\*, prediction\_column: Optional\[Union\[str, Sequence]], current\_data: DataFrame, reference\_data: DataFrame, threshold: float = 0.5)

Update dataset by predictions type:

* if prediction column is None or a string, no dataset changes
* (binary classification) if predictions is a list and its length equals 2

  set predicted\_labels column by threshold
* (multy label classification) if predictions is a list and its length is greater than 2

  set predicted\_labels from probability values in columns by prediction column
* **Returns**

  prediction column name.

### get\_dataset\_drift(drift\_metrics, drift\_share=0.5)

### get\_drift\_for\_columns(\*, current\_data: DataFrame, reference\_data: DataFrame, dataset\_columns: [DatasetColumns](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.utils#evidently.utils.data_operations.DatasetColumns), data\_drift\_options: [DataDriftOptions](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.options#evidently.options.data_drift.DataDriftOptions), drift\_share\_threshold: Optional\[float] = None, columns: Optional\[List\[str]] = None)

### get\_one\_column\_drift(\*, current\_data: DataFrame, reference\_data: DataFrame, column\_name: str, options: [DataDriftOptions](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.options#evidently.options.data_drift.DataDriftOptions), dataset\_columns: [DatasetColumns](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.utils#evidently.utils.data_operations.DatasetColumns), column\_type: Optional\[str] = None)

## data\_integration module <a href="#module-evidently.calculations.data_integration" id="module-evidently.calculations.data_integration"></a>

### get\_number\_of\_all\_pandas\_missed\_values(dataset: DataFrame)

Calculate the number of missed - nulls by pandas - values in a dataset

### get\_number\_of\_almost\_constant\_columns(dataset: DataFrame, threshold: float)

Calculate the number of almost constant columns in a dataset

### get\_number\_of\_almost\_duplicated\_columns(dataset: DataFrame, threshold: float)

Calculate the number of almost duplicated columns in a dataset

### get\_number\_of\_constant\_columns(dataset: DataFrame)

Calculate the number of constant columns in a dataset

### get\_number\_of\_duplicated\_columns(dataset: DataFrame)

Calculate the number of duplicated columns in a dataset

### get\_number\_of\_empty\_columns(dataset: DataFrame)

Calculate the number of empty columns in a dataset

## data\_quality module <a href="#module-evidently.calculations.data_quality" id="module-evidently.calculations.data_quality"></a>

Methods for overall dataset quality calculations - rows count, a specific values count, etc.

### class ColumnCorrelations(column\_name: str, kind: str, values: [Distribution](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.utils#evidently.utils.visualizations.Distribution))

Bases: `object`

#### Attributes:

&#x20;    **column\_name : str**

&#x20;    **kind : str**

&#x20;    **values :** [**Distribution**](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.utils#evidently.utils.visualizations.Distribution)

### class DataQualityGetPlotData()

Bases: `object`

#### Methods:

&#x20;    **calculate\_data\_by\_target(curr: DataFrame, ref: Optional\[DataFrame], feature\_name: str, feature\_type: str, target\_name: str, target\_type: str, merge\_small\_cat: Optional\[int] = 5)**

&#x20;    **calculate\_data\_in\_time(curr: DataFrame, ref: Optional\[DataFrame], feature\_name: str, feature\_type: str, datetime\_name: str, merge\_small\_cat: Optional\[int] = 5)**

&#x20;    **calculate\_main\_plot(curr: DataFrame, ref: Optional\[DataFrame], feature\_name: str, feature\_type: str, merge\_small\_cat: Optional\[int] = 5)**

### class DataQualityPlot(bins\_for\_hist: Dict\[str, pandas.core.frame.DataFrame])

Bases: `object`

#### Attributes:

&#x20;    **bins\_for\_hist : Dict\[str, DataFrame]**

### class DataQualityStats(rows\_count: int, num\_features\_stats: Optional\[Dict\[str, FeatureQualityStats]] = None, cat\_features\_stats: Optional\[Dict\[str, FeatureQualityStats]] = None, datetime\_features\_stats: Optional\[Dict\[str, FeatureQualityStats]] = None, target\_stats: Optional\[Dict\[str, FeatureQualityStats]] = None, prediction\_stats: Optional\[Dict\[str, FeatureQualityStats]] = None)

Bases: `object`

#### Attributes:

&#x20;    **cat\_features\_stats : Optional\[Dict\[str, FeatureQualityStats]] = None**

&#x20;    **datetime\_features\_stats : Optional\[Dict\[str, FeatureQualityStats]] = None**

&#x20;    **num\_features\_stats : Optional\[Dict\[str, FeatureQualityStats]] = None**

&#x20;    **prediction\_stats : Optional\[Dict\[str, FeatureQualityStats]] = None**

&#x20;    **rows\_count : int**

&#x20;    **target\_stats : Optional\[Dict\[str, FeatureQualityStats]] = None**

#### Methods:

&#x20;    **get\_all\_features()**

### class FeatureQualityStats(feature\_type: str, number\_of\_rows: int = 0, count: int = 0, infinite\_count: Optional\[int] = None, infinite\_percentage: Optional\[float] = None, missing\_count: Optional\[int] = None, missing\_percentage: Optional\[float] = None, unique\_count: Optional\[int] = None, unique\_percentage: Optional\[float] = None, percentile\_25: Optional\[float] = None, percentile\_50: Optional\[float] = None, percentile\_75: Optional\[float] = None, max: Optional\[Union\[int, float, bool, str]] = None, min: Optional\[Union\[int, float, bool, str]] = None, mean: Optional\[float] = None, most\_common\_value: Optional\[Union\[int, float, bool, str]] = None, most\_common\_value\_percentage: Optional\[float] = None, std: Optional\[float] = None, most\_common\_not\_null\_value: Optional\[Union\[int, float, bool, str]] = None, most\_common\_not\_null\_value\_percentage: Optional\[float] = None, new\_in\_current\_values\_count: Optional\[int] = None, unused\_in\_current\_values\_count: Optional\[int] = None)

Bases: `object`

Class for all features data quality metrics store.

A type of the feature is stored in feature\_type field. Concrete stat kit depends on the feature type. Is a metric is not applicable - leave None value for it.

Metrics for all feature types:

```
- feature type - cat for category, num for numeric, datetime for datetime features

- count - quantity of a meaningful values (do not take into account NaN values)

- missing_count - quantity of meaningless (NaN) values

- missing_percentage - the percentage of the missed values

- unique_count - quantity of unique values

- unique_percentage - the percentage of the unique values

- max - maximum value (not applicable for category features)

- min - minimum value (not applicable for category features)

- most_common_value - the most common value in the feature values

- most_common_value_percentage - the percentage of the most common value

- most_common_not_null_value - if most_common_value equals NaN - the next most common value. Otherwise - None

- most_common_not_null_value_percentage - the percentage of most_common_not_null_value if it is defined.

    If most_common_not_null_value is not defined, equals None too.
```

Metrics for numeric features only:

```
- infinite_count - quantity infinite values (for numeric features only)

- infinite_percentage - the percentage of infinite values (for numeric features only)

- percentile_25 - 25% percentile for meaningful values

- percentile_50 - 50% percentile for meaningful values

- percentile_75 - 75% percentile for meaningful values

- mean - the sum of the meaningful values divided by the number of the meaningful values

- std - standard deviation of the values
```

Metrics for category features only:

* new\_in\_current\_values\_count - quantity of new values in the current dataset after the reference

  ```
    Defined for reference dataset only.
  ```

  * new\_in\_current\_values\_count - quantity of values in the reference dataset that not presented in the current

    Defined for reference dataset only.

#### Attributes:

&#x20;    **count : int = 0**

&#x20;    **feature\_type : str**

&#x20;    **infinite\_count : Optional\[int] = None**

&#x20;    **infinite\_percentage : Optional\[float] = None**

&#x20;    **max : Optional\[Union\[int, float, bool, str]] = None**

&#x20;    **mean : Optional\[float] = None**

&#x20;    **min : Optional\[Union\[int, float, bool, str]] = None**

&#x20;    **missing\_count : Optional\[int] = None**

&#x20;    **missing\_percentage : Optional\[float] = None**

&#x20;    **most\_common\_not\_null\_value : Optional\[Union\[int, float, bool, str]] = None**

&#x20;    **most\_common\_not\_null\_value\_percentage : Optional\[float] = None**

&#x20;    **most\_common\_value : Optional\[Union\[int, float, bool, str]] = None**

&#x20;    **most\_common\_value\_percentage : Optional\[float] = None**

&#x20;    **new\_in\_current\_values\_count : Optional\[int] = None**

&#x20;    **number\_of\_rows : int = 0**

&#x20;    **percentile\_25 : Optional\[float] = None**

&#x20;    **percentile\_50 : Optional\[float] = None**

&#x20;    **percentile\_75 : Optional\[float] = None**

&#x20;    **std : Optional\[float] = None**

&#x20;    **unique\_count : Optional\[int] = None**

&#x20;    **unique\_percentage : Optional\[float] = None**

&#x20;    **unused\_in\_current\_values\_count : Optional\[int] = None**

#### Methods:

&#x20;    **as\_dict()**

&#x20;    **is\_category()**

Checks that the object store stats for a category feature

&#x20;    **is\_datetime()**

Checks that the object store stats for a datetime feature

&#x20;    **is\_numeric()**

Checks that the object store stats for a numeric feature

### calculate\_category\_column\_correlations(column\_name: str, dataset: DataFrame, columns: List\[str])

For category columns calculate cramer\_v correlation

### calculate\_column\_distribution(column: Series, column\_type: str)

### calculate\_correlations(dataset: DataFrame, columns: [DatasetColumns](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.utils#evidently.utils.data_operations.DatasetColumns))

### calculate\_cramer\_v\_correlation(column\_name: str, dataset: DataFrame, columns: List\[str])

### calculate\_data\_quality\_stats(dataset: DataFrame, columns: [DatasetColumns](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.utils#evidently.utils.data_operations.DatasetColumns), task: Optional\[str])

### calculate\_numerical\_column\_correlations(column\_name: str, dataset: DataFrame, columns: List\[str])

### get\_features\_stats(feature: Series, feature\_type: str)

### get\_pairwise\_correlation(df, func: Callable\[\[Series, Series], float])

Compute pairwise correlation of columns :param df: initial data frame. :param func: function for computing pairwise correlation.

* **Returns**

  Correlation matrix.

### get\_rows\_count(data: Union\[DataFrame, Series])

Count quantity of rows in a dataset

## regression\_performance module <a href="#module-evidently.calculations.regression_performance" id="module-evidently.calculations.regression_performance"></a>

### class ErrorWithQuantiles(error, quantile\_top, quantile\_other)

Bases: `object`

### class FeatureBias(feature\_type: str, majority: float, under: float, over: float, range: float)

Bases: `object`

#### Attributes:

&#x20;    **feature\_type : str**

&#x20;    **majority : float**

&#x20;    **over : float**

&#x20;    **range : float**

&#x20;    **under : float**

#### Methods:

&#x20;    **as\_dict(prefix)**

### class RegressionPerformanceMetrics(mean\_error: float, mean\_abs\_error: float, mean\_abs\_perc\_error: float, error\_std: float, abs\_error\_max: float, abs\_error\_std: float, abs\_perc\_error\_std: float, error\_normality: dict, underperformance: dict, error\_bias: dict)

Bases: `object`

#### Attributes:

&#x20;    **abs\_error\_max : float**

&#x20;    **abs\_error\_std : float**

&#x20;    **abs\_perc\_error\_std : float**

&#x20;    **error\_bias : dict**

&#x20;    **error\_normality : dict**

&#x20;    **error\_std : float**

&#x20;    **mean\_abs\_error : float**

&#x20;    **mean\_abs\_perc\_error : float**

&#x20;    **mean\_error : float**

&#x20;    **underperformance : dict**

### calculate\_regression\_performance(dataset: DataFrame, columns: [DatasetColumns](https://francesco.gitbook.io/docs.evidentlyai.com/reference/evidently.utils#evidently.utils.data_operations.DatasetColumns), error\_bias\_prefix: str)

### error\_bias\_table(dataset, err\_quantiles, num\_feature\_names, cat\_feature\_names)

### error\_with\_quantiles(dataset, prediction\_column, target\_column, quantile: float)
