import torch


def weighted_mean_rule_func(predictions: torch.Tensor,
                            weights: torch.Tensor, *_) -> torch.Tensor:
    """
    Mean the predictions of different classifier outputs with classifier weights.

    Args:
        predictions: outputs of the base models
        weights: a one-dimensional tensor with a float for each classifier

    Returns:
        a prediction tensor
    """
    return torch.mean(predictions * weights.unsqueeze(dim=1), dim=0)