class_docstr: Computes SHAP values via an optimized exact enumeration.
  
  This works well for standard Shapley value maskers for models with less than ~15 features that vary
  from the background per sample. It also works well for Owen values from hclustering structured
  maskers when there are less than ~100 features that vary from the background per sample. This
  explainer minimizes the number of function evaluations needed by ordering the masking sets to
  minimize sequential differences. This is done using gray codes for standard Shapley values
  and a greedy sorting method for hclustering structured maskers.
class_docstr_tok: ["Computes","SHAP","values","via","an","optimized","exact","enumeration",".","This","works","well","for","standard","Shapley","value","maskers","for","models","with","less","than","~15","features","that","vary","from","the","background","per","sample",".","It","also","works","well","for","Owen","values","from","hclustering","structured","maskers","when","there","are","less","than","~100","features","that","vary","from","the","background","per","sample",".","This","explainer","minimizes","the","number","of","function","evaluations","needed","by","ordering","the","masking","sets","to","minimize","sequential","differences",".","This","is","done","using","gray","codes","for","standard","Shapley","values","and","a","greedy","sorting","method","for","hclustering","structured","maskers","."]
docstr: Explains the output of model(*args), where args represents one or more parallel iterators.
          
docstr_tok: ["Explains","the","output","of","model","(","*","args",")",",","where","args","represents","one","or","more","parallel","iterators","."]
code: def __call__(
      self,
      *args,
      max_evals=100000,
      main_effects=False,
      error_bounds=False,
      batch_size="auto",
      interactions=1,
      silent=False,
  ):
      """Explains the output of model(*args), where args represents one or more parallel iterators."""
  
      # we entirely rely on the general call implementation, we override just to remove **kwargs
      # from the function signature
      return super().__call__(
          *args,
          max_evals=max_evals,
          main_effects=main_effects,
          error_bounds=error_bounds,
          batch_size=batch_size,
          interactions=interactions,
          silent=silent,
      )
  
file_path: shap/shap/explainers/_exact.py
imports: import logging
  import numpy
  from numba import njit
  from ..None import links
  from ..models import Model
  from ..utils import MaskedModel, delta_minimization_order, make_masks, shapley_coefficients
  from ._explainer import Explainer
label_desc: Use image node_id 2 for calling the ExactExplainer obj's underlying member method code with example usage: obj.__call__() and returns: super