Implementation:Evidentlyai Evidently Task Configuration Classes
Appearance
| 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