class_docstr: Base class for all poison filtering defences.
class_docstr_tok: ["Base","class","for","all","poison","filtering","defences","."]
docstr: Evaluate the defence given the labels specifying if the data is poisoned or not.
  
  :param is_clean: 1-D array where is_clean[i]=1 means x_train[i] is clean and is_clean[i]=0 that it's poison.
  :param kwargs: Defence-specific parameters used by child classes.
  :return: JSON object with confusion matrix.
docstr_tok: ["Evaluate","the","defence","given","the","labels","specifying","if","the","data","is","poisoned","or","not",".",":","param","is_clean",":","1-D","array","where","is_clean","[","i","]","=1","means","x_train","[","i","]","is","clean","and","is_clean","[","i","]","=0","that","it","'s","poison",".",":","param","kwargs",":","Defence-specific","parameters","used","by","child","classes",".",":","return",":","JSON","object","with","confusion","matrix","."]
code: def evaluate_defence(self, is_clean: np.ndarray, **kwargs) -> str:
      """
      Evaluate the defence given the labels specifying if the data is poisoned or not.
  
      :param is_clean: 1-D array where is_clean[i]=1 means x_train[i] is clean and is_clean[i]=0 that it's poison.
      :param kwargs: Defence-specific parameters used by child classes.
      :return: JSON object with confusion matrix.
      """
      raise NotImplementedError
  
file_path: adversarial-robustness-toolbox/art/defences/detector/poison/poison_filtering_defence.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  import abc
  import sys
  from typing import Any, Dict, List, Tuple, TYPE_CHECKING
  import numpy
label_desc: Use image node_id 3 for calling the PoisonFilteringDefence obj's underlying member method code with example usage: obj.evaluate_defence(is_clean) without return types