def is_suspicious(self, before_classifier: "CLASSIFIER_TYPE", perf_shift: float) -> bool:
        """
        Returns True if a given performance shift is suspicious

        :param before_classifier: The classifier without untrusted data.
        :param perf_shift: A shift in performance.
        :return: True if a given performance shift is suspicious, false otherwise.
        """
        if self.calibrated:
            median, std_dev = self.get_calibration_info(before_classifier)
            return bool(perf_shift < median - 3 * std_dev)

        return bool(perf_shift < -self.eps)

        Returns True if a given performance shift is suspicious

        :param before_classifier: The classifier without untrusted data.
        :param perf_shift: A shift in performance.
        :return: True if a given performance shift is suspicious, false otherwise.
        
art/defences/detector/poison/roni.py