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.