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 Task Configuration Classes

From Leeroopedia
Knowledge Sources
Domains ML_Evaluation, Classification, Regression
Last Updated 2026-02-14 12:00 GMT

Overview

Concrete dataclass configurations for mapping ML task columns provided by the Evidently library.

Description

Three dataclass-based configuration classes that map ML task columns to Evidently's evaluation engine:

  • BinaryClassification: Maps target, predicted labels, predicted probabilities, and positive label for binary classification tasks
  • MulticlassClassification: Maps target, predicted labels, and per-class probability columns for multiclass tasks
  • Regression: Maps target and prediction columns for regression tasks

These classes are passed as lists to DataDefinition(classification=[...], regression=[...]) to enable task-specific metric computation.

Usage

Import these classes when you need to evaluate ML model quality using Evidently's classification or regression presets. Use them as parameters to DataDefinition.

Code Reference

Source Location

  • Repository: evidently
  • File: src/evidently/core/datasets.py
  • Lines: L85-239

Signature

@dataclasses.dataclass
class BinaryClassification:
    def __init__(
        self,
        *,
        name: str = "default",
        target: Optional[str] = None,
        prediction_labels: Optional[str] = None,
        prediction_probas: Optional[str] = None,
        pos_label: Optional[str] = None,
        labels: Optional[Dict[Label, str]] = None,
    ):
        """
        Args:
            name: Identifier for this classification task.
            target: Column name with true binary labels.
            prediction_labels: Column name with predicted binary labels.
            prediction_probas: Column name with predicted probabilities.
            pos_label: Value representing the positive class.
            labels: Optional mapping of label values to display names.
        """

@dataclasses.dataclass
class MulticlassClassification:
    def __init__(
        self,
        *,
        name: str = "default",
        target: Optional[str] = None,
        prediction_labels: Optional[str] = None,
        prediction_probas: Optional[List[str]] = None,
        labels: Optional[Dict[Label, str]] = None,
    ):
        """
        Args:
            name: Identifier for this classification task.
            target: Column name with true class labels.
            prediction_labels: Column name with predicted class labels.
            prediction_probas: List of column names with per-class probabilities.
            labels: Optional mapping of label values to display names.
        """

@dataclasses.dataclass
class Regression:
    name: str = "default"
    target: str = "target"
    prediction: str = "prediction"

Import

from evidently.core.datasets import BinaryClassification, MulticlassClassification, Regression

I/O Contract

Inputs (BinaryClassification)

Name Type Required Description
name str No Task identifier (default: "default")
target Optional[str] Conditional Column with true labels (required if any param set)
prediction_labels Optional[str] Conditional Column with predicted labels
prediction_probas Optional[str] Conditional Column with predicted probabilities
pos_label Optional[str] No Value for positive class (default: 1)
labels Optional[Dict] No Label value to display name mapping

Inputs (Regression)

Name Type Required Description
name str No Task identifier (default: "default")
target str No Column with actual values (default: "target")
prediction str No Column with predicted values (default: "prediction")

Outputs

Name Type Description
BinaryClassification BinaryClassification Config object passed to DataDefinition(classification=[...])
MulticlassClassification MulticlassClassification Config object passed to DataDefinition(classification=[...])
Regression Regression Config object passed to DataDefinition(regression=[...])

Usage Examples

Binary Classification Setup

from evidently import DataDefinition
from evidently.core.datasets import BinaryClassification

# Map columns for fraud detection binary classification
data_def = DataDefinition(
    classification=[
        BinaryClassification(
            target="is_fraud",
            prediction_labels="predicted_fraud",
            prediction_probas="fraud_probability",
            pos_label=1,
        )
    ]
)

Multiclass Classification Setup

from evidently.core.datasets import MulticlassClassification

data_def = DataDefinition(
    classification=[
        MulticlassClassification(
            target="species",
            prediction_labels="predicted_species",
            prediction_probas=["prob_setosa", "prob_versicolor", "prob_virginica"],
        )
    ]
)

Regression Setup

from evidently.core.datasets import Regression

data_def = DataDefinition(
    regression=[
        Regression(target="price", prediction="predicted_price")
    ]
)

Related Pages

Implements Principle

Page Connections

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