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.