class_docstr: Scikit-learn wrapper interface for Faiss KNN.
  
  Parameters
  ----------
  n_neighbors : int (Default = 5)
              Number of neighbors used in the nearest neighbor search.
  
  n_jobs : int (Default = None)
           The number of jobs to run in parallel for both fit and predict.
            If -1, then the number of jobs is set to the number of cores.
  
  algorithm : {'brute', 'voronoi'} (Default = 'brute')
  
      Algorithm used to compute the nearest neighbors:
  
          - 'brute' will use the :class: `IndexFlatL2` class from faiss.
          - 'voronoi' will use :class:`IndexIVFFlat` class from faiss.
          - 'hierarchical' will use :class:`IndexHNSWFlat` class from faiss.
  
      Note that selecting 'voronoi' the system takes more time during
      training, however it can significantly improve the search time
      on inference. 'hierarchical' produce very fast and accurate indexes,
      however it has a higher memory requirement. It's recommended when
      you have a lots of RAM or the dataset is small.
  
      For more information see: https://github.com/facebookresearch/faiss/wiki/Guidelines-to-choose-an-index
  
  n_cells : int (Default = 100)
      Number of voronoi cells. Only used when algorithm=='voronoi'.
  
  n_probes : int (Default = 1)
      Number of cells that are visited to perform the search. Note that the
      search time roughly increases linearly with the number of probes.
      Only used when algorithm=='voronoi'.
  
  References
  ----------
  Johnson Jeff, Matthijs Douze, and Hervé Jégou. "Billion-scale similarity
  search with gpus." arXiv preprint arXiv:1702.08734 (2017).
code: def __init__(
      self,
      n_neighbors=5,
      n_jobs=None,
      algorithm="brute",
      n_cells=100,
      n_probes=1,
  ):
      self.n_neighbors = n_neighbors
      self.n_jobs = n_jobs
      self.algorithm = algorithm
      self.n_cells = n_cells
      self.n_probes = n_probes
  
      import faiss
  
      self.faiss = faiss
  
file_path: DESlib/deslib/util/faiss_knn_wrapper.py
imports: import numpy
  from sklearn.utils.validation import check_is_fitted
label_desc: Use image node_id 1 to create a new FaissKNNClassifier object  with example: obj = FaissKNNClassifier(n_neighbors, n_jobs, algorithm, n_cells, n_probes)