Jump to content

Connect SuperML | Leeroopedia MCP: Equip your AI agents with best practices, code verification, and debugging knowledge. Powered by Leeroo — building Organizational Superintelligence. Contact us at founders@leeroo.com.

Implementation:Evidentlyai Evidently Legacy Generate Column Metrics

From Leeroopedia
Revision as of 12:28, 16 February 2026 by Admin (talk | contribs) (Auto-imported from implementations/Evidentlyai_Evidently_Legacy_Generate_Column_Metrics.md)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Knowledge Sources
Domains ML Monitoring, Metrics
Last Updated 2026-02-14 12:00 GMT

Overview

generate_column_metrics is a utility function that creates a generator for applying a given metric class across multiple dataset columns.

Description

The generate_column_metrics function is a convenience wrapper around make_generator_by_columns. It takes a metric class (a subclass of Metric) and produces a BaseGenerator[Metric] that will instantiate that metric for each column matching the given criteria.

The function supports:

  • Specifying a list of column names or a single column name to target
  • Passing additional parameters to the metric constructor via a dictionary
  • Optionally skipping the ID column in the dataset

This is useful for situations where you want to apply the same metric (e.g., drift detection, summary statistics) to many columns without manually creating individual metric instances.

Usage

Use this function when you need to apply a single metric class to multiple columns in a dataset. It simplifies report configuration by replacing repetitive metric instantiation with a single generator call.

Code Reference

Source Location

Signature

def generate_column_metrics(
    metric_class: Type[Metric],
    columns: Optional[Union[str, list]] = None,
    parameters: Optional[Dict] = None,
    skip_id_column: bool = False,
) -> BaseGenerator[Metric]:
    """Function for generating metrics for columns"""
    return make_generator_by_columns(
        base_class=metric_class,
        columns=columns,
        parameters=parameters,
        skip_id_column=skip_id_column,
    )

Import

from evidently.legacy.metrics.base_metric import generate_column_metrics

I/O Contract

Inputs

Name Type Required Description
metric_class Type[Metric] Yes The metric class to instantiate for each column.
columns Optional[Union[str, list]] No A column name or list of column names to generate metrics for. If None, columns are inferred from the dataset.
parameters Optional[Dict] No Additional keyword arguments to pass to each metric instance constructor.
skip_id_column bool No If True, the ID column is excluded from metric generation. Defaults to False.

Outputs

Name Type Description
return BaseGenerator[Metric] A generator object that produces metric instances for each target column when the report is executed.

Usage Examples

from evidently.legacy.metrics.base_metric import generate_column_metrics
from evidently.legacy.metrics import ColumnDriftMetric
from evidently.legacy.report import Report

# Generate drift metrics for specific columns
report = Report(metrics=[
    generate_column_metrics(ColumnDriftMetric, columns=["age", "income", "score"])
])
report.run(reference_data=ref_df, current_data=curr_df)

# Generate drift metrics for all columns, skipping the ID column
report = Report(metrics=[
    generate_column_metrics(ColumnDriftMetric, skip_id_column=True)
])
report.run(reference_data=ref_df, current_data=curr_df)

# Generate metrics with additional parameters
report = Report(metrics=[
    generate_column_metrics(
        ColumnDriftMetric,
        columns=["feature_1", "feature_2"],
        parameters={"stattest": "ks"},
    )
])
report.run(reference_data=ref_df, current_data=curr_df)

Related Pages

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment