Skip to main content

databricks.labs.dqx.anomaly.types

Type definitions for row anomaly detection module.

Contains:

  • Type protocols for duck typing (TrainedModel, MLflowSignature)
  • Immutable data classes for training results and context

TrainedModel Objects

@runtime_checkable
class TrainedModel(Protocol)

Protocol for trained sklearn-compatible models.

Any object with predict, decision_function, and fit methods satisfies this protocol. Uses sklearn naming convention where input features are passed as 'data'.

predict

def predict(data: pd.DataFrame) -> np.ndarray

Predict anomaly labels (-1 for anomaly, 1 for normal).

decision_function

def decision_function(data: pd.DataFrame) -> np.ndarray

Return anomaly scores (lower = more anomalous).

fit

def fit(data: pd.DataFrame) -> "TrainedModel"

Fit the model on training data.

MLflowSignature Objects

class MLflowSignature(Protocol)

Protocol for MLflow model signatures.

TrainingResult Objects

@dataclass(frozen=True)
class TrainingResult()

Result of single model training.

EnsembleTrainingResult Objects

@dataclass(frozen=True)
class EnsembleTrainingResult()

Result of ensemble training.

AnomalyTrainingContext Objects

@dataclass(frozen=True)
class AnomalyTrainingContext()

Context containing all inputs needed for training.

TrainingArtifacts Objects

@dataclass(frozen=True)
class TrainingArtifacts()

Artifacts produced by training a single model or segment.