code: def _assess_propensity_overlap(self, X, t):
      prop_scores = cross_val_predict(
          self.prop_estimator,
          X,
          t.values.ravel(),
          method="predict_proba",
          cv=2,
      )
      prop_scores = prop_scores[:, 1]  # Probability of treatment
      overlap_set = np.logical_and(
          prop_scores < 1 - self.overlap_eps,
          prop_scores > self.overlap_eps,
      ).astype(int)
      return overlap_set
  
imports: from dataclasses import asdict, dataclass
  from typing import Dict, List, Optional, Union
  import numpy
  import pandas
  from sklearn.base import BaseEstimator
  from sklearn.ensemble import RandomForestClassifier
  from sklearn.model_selection import GridSearchCV, cross_val_predict
  from dowhy.causal_refuters.overrule.ruleset import BCSRulesetEstimator
  from dowhy.causal_refuters.overrule.utils import fatom
label_desc: Use image node_id 3 for calling the OverruleAnalyzer obj's underlying member method code with example usage: obj._assess_propensity_overlap(X, t) and returns: overlap_set