class_docstr: Assess Overlap
  
  This class implements the OverRule algorithm for assessing support and overlap via Boolean Rulesets, from [1].
  
  [1] Oberst, M., Johansson, F., Wei, D., Gao, T., Brat, G., Sontag, D., & Varshney, K. (2020). Characterization of
  Overlap in Observational Studies. In S. Chiappa & R. Calandra (Eds.), Proceedings of the Twenty Third International
  Conference on Artificial Intelligence and Statistics (Vol. 108, pp. 788–798). PMLR. https://arxiv.org/abs/1907.04138
docstr: Initialize the parameters required for the refuter.
  
  Arguments are passed through to the `refute_estimate` method. See dowhy.causal_refuters.assess_overlap_overrule
  for the definition of the `SupportConfig` and `OverlapConfig` dataclasses that define optimization
  hyperparameters.
  
  .. warning::
      This method is only compatible with estimators that use backdoor adjustment, and will attempt to acquire
      the set of backdoor variables via `self._target_estimand.get_backdoor_variables()`.
  
  :param: cat_feats: List[str]: List of categorical features, all others will be discretized
  :param: support_config: SupportConfig: DataClass with configuration options for learning support rules
  :param: overlap_config: OverlapConfig: DataClass with configuration options for learning overlap rules
  :param: overlap_eps: float: Defines the range of propensity scores for a point to be considered in the overlap
      region, with the range defined as `(overlap_eps, 1 - overlap_eps)`, defaults to 0.1
  :param: overrule_verbose: bool: Enable verbose logging of optimization output, defaults to False
  :param: support_only: bool: Only fit rules to describe the support region (do not fit overlap rules), defaults to False
  :param: overlap_only: bool: Only fit rules to describe the overlap region (do not fit support rules), defaults to False
docstr_tok: ["Initialize","the","parameters","required","for","the","refuter",".","Arguments","are","passed","through","to","the","`","refute_estimate","`","method",".","See","dowhy.causal_refuters.assess_overlap_overrule","for","the","definition","of","the","`","SupportConfig","`","and","`","OverlapConfig","`","dataclasses","that","define","optimization","hyperparameters",".","..","warning",":",":","This","method","is","only","compatible","with","estimators","that","use","backdoor","adjustment",",","and","will","attempt","to","acquire","the","set","of","backdoor","variables","via","`","self._target_estimand.get_backdoor_variables","(",")","`",".",":","param",":","cat_feats",":","List","[","str","]",":","List","of","categorical","features",",","all","others","will","be","discretized",":","param",":","support_config",":","SupportConfig",":","DataClass","with","configuration","options","for","learning","support","rules",":","param",":","overlap_config",":","OverlapConfig",":","DataClass","with","configuration","options","for","learning","overlap","rules",":","param",":","overlap_eps",":","float",":","Defines","the","range","of","propensity","scores","for","a","point","to","be","considered","in","the","overlap","region",",","with","the","range","defined","as","`","(","overlap_eps",",","1","-","overlap_eps",")","`",",","defaults","to","0.1",":","param",":","overrule_verbose",":","bool",":","Enable","verbose","logging","of","optimization","output",",","defaults","to","False",":","param",":","support_only",":","bool",":","Only","fit","rules","to","describe","the","support","region","(","do","not","fit","overlap","rules",")",",","defaults","to","False",":","param",":","overlap_only",":","bool",":","Only","fit","rules","to","describe","the","overlap","region","(","do","not","fit","support","rules",")",",","defaults","to","False"]
code: def __init__(self, *args, **kwargs):
      """
      Initialize the parameters required for the refuter.
  
      Arguments are passed through to the `refute_estimate` method. See dowhy.causal_refuters.assess_overlap_overrule
      for the definition of the `SupportConfig` and `OverlapConfig` dataclasses that define optimization
      hyperparameters.
  
      .. warning::
          This method is only compatible with estimators that use backdoor adjustment, and will attempt to acquire
          the set of backdoor variables via `self._target_estimand.get_backdoor_variables()`.
  
      :param: cat_feats: List[str]: List of categorical features, all others will be discretized
      :param: support_config: SupportConfig: DataClass with configuration options for learning support rules
      :param: overlap_config: OverlapConfig: DataClass with configuration options for learning overlap rules
      :param: overlap_eps: float: Defines the range of propensity scores for a point to be considered in the overlap
          region, with the range defined as `(overlap_eps, 1 - overlap_eps)`, defaults to 0.1
      :param: overrule_verbose: bool: Enable verbose logging of optimization output, defaults to False
      :param: support_only: bool: Only fit rules to describe the support region (do not fit overlap rules), defaults to False
      :param: overlap_only: bool: Only fit rules to describe the overlap region (do not fit support rules), defaults to False
      """
      super().__init__(*args, **kwargs)
      # TODO: Check that the target estimand has backdoor variables?
      self._backdoor_vars = (
          self._target_estimand.get_backdoor_variables()
      )
      self._cat_feats = kwargs.pop("cat_feats", [])
      self._support_config = kwargs.pop("support_config", None)
      self._overlap_config = kwargs.pop("overlap_config", None)
      self._overlap_eps = kwargs.pop("overlap_eps", 0.1)
      if self._overlap_eps < 0 or self._overlap_eps > 1:
          raise ValueError(
              f"Value of `overlap_eps` must be in [0, 1], got {self._overlap_eps}"
          )
      self._support_only = kwargs.pop("support_only", False)
      self._overlap_only = kwargs.pop("overlap_only", False)
      self._overrule_verbose = kwargs.pop("overrule_verbose", False)
  
file_path: dowhy/dowhy/causal_refuters/assess_overlap.py
imports: import logging
  import warnings
  from typing import List, Optional
  from dowhy.causal_refuter import CausalRefuter
  from dowhy.causal_refuters.assess_overlap_overrule import OverlapConfig, OverruleAnalyzer, SupportConfig
label_desc: Use image node_id 1 to create a new AssessOverlap object from inherited base classes: CausalRefuter with example: obj = AssessOverlap()