"""Validator for ML"""

class ValidatorML:
    def __init__(self, model, dataset, metrics):
        self.model = model
        self.dataset = dataset
        self.metrics = metrics

    def validate(self):
        predictions = self.model.predict(self.dataset.x)
        for metric in self.metrics:
            metric.calculate(predictions, self.dataset.y)

    def report(self):
        for metric in self.metrics:
            print(f"{metric.__class__.__name__}: {metric.value}")