class_docstr: Overlap Boolean Rule class in the style of scikit-learn
class_docstr_tok: ["Overlap","Boolean","Rule","class","in","the","style","of","scikit-learn"]
docstr: Learn Boolean Rules in Disjuntive Normal Form to describe the positive class.
  
  :param alpha: Fraction of the positive samples to ensure are included in the rules, defaults to 0.95
  :type alpha: float, optional
  :param lambda0: Regularization on the # of rules, defaults to 1e-2
  :type lambda0: float, optional
  :param lambda1: Regularization on the # of literals, defaults to 1e-2
  :type lambda1: float, optional
  :param K: Maximum results returned during beam search, defaults to 20
  :type K: int, optional
  :param D: Maximum extra rules per beam seach iteration, defaults to 20
  :type D: int, optional
  :param B: Width of beam search, defaults to 10
  :type B: int, optional
  :param iterMax: Maximum number of iterations of column generation, defaults to 10
  :type iterMax: int, optional
  :param eps: Numerical tolerance on comparisons, defaults to 1e-6
  :type eps: float, optional
  :param silent: Silence non-optimizer output, defaults to False
  :type silent: bool
  :param verbose: Verbose optimizer output, defaults to False
  :type verbose: bool, optional
  :param solver: Linear programming solver used by CVXPY to solve the LP relaxation, defaults to 'ECOS'
  :type solver: str, optional
  :param rounding: Strategy to perform rounding, either 'greedy' or 'greedy_sweep', defaults to 'greedy_sweep'
  :type rounding: str, optional
docstr_tok: ["Learn","Boolean","Rules","in","Disjuntive","Normal","Form","to","describe","the","positive","class",".",":","param","alpha",":","Fraction","of","the","positive","samples","to","ensure","are","included","in","the","rules",",","defaults","to","0.95",":","type","alpha",":","float",",","optional",":","param","lambda0",":","Regularization","on","the","#","of","rules",",","defaults","to","1e-2",":","type","lambda0",":","float",",","optional",":","param","lambda1",":","Regularization","on","the","#","of","literals",",","defaults","to","1e-2",":","type","lambda1",":","float",",","optional",":","param","K",":","Maximum","results","returned","during","beam","search",",","defaults","to","20",":","type","K",":","int",",","optional",":","param","D",":","Maximum","extra","rules","per","beam","seach","iteration",",","defaults","to","20",":","type","D",":","int",",","optional",":","param","B",":","Width","of","beam","search",",","defaults","to","10",":","type","B",":","int",",","optional",":","param","iterMax",":","Maximum","number","of","iterations","of","column","generation",",","defaults","to","10",":","type","iterMax",":","int",",","optional",":","param","eps",":","Numerical","tolerance","on","comparisons",",","defaults","to","1e-6",":","type","eps",":","float",",","optional",":","param","silent",":","Silence","non-optimizer","output",",","defaults","to","False",":","type","silent",":","bool",":","param","verbose",":","Verbose","optimizer","output",",","defaults","to","False",":","type","verbose",":","bool",",","optional",":","param","solver",":","Linear","programming","solver","used","by","CVXPY","to","solve","the","LP","relaxation",",","defaults","to","'ECOS'",":","type","solver",":","str",",","optional",":","param","rounding",":","Strategy","to","perform","rounding",",","either","'greedy","'","or","'greedy_sweep","'",",","defaults","to","'greedy_sweep'",":","type","rounding",":","str",",","optional"]
code: def __init__(
      self,
      alpha=0.95,
      lambda0=1e-2,
      lambda1=1e-2,
      K=20,
      D=20,
      B=10,
      iterMax=10,
      eps=1e-6,
      silent=False,
      verbose=False,
      solver="ECOS",
      rounding="greedy_sweep",
  ):
      """
      Learn Boolean Rules in Disjuntive Normal Form to describe the positive class.
  
      :param alpha: Fraction of the positive samples to ensure are included in the rules, defaults to 0.95
      :type alpha: float, optional
      :param lambda0: Regularization on the # of rules, defaults to 1e-2
      :type lambda0: float, optional
      :param lambda1: Regularization on the # of literals, defaults to 1e-2
      :type lambda1: float, optional
      :param K: Maximum results returned during beam search, defaults to 20
      :type K: int, optional
      :param D: Maximum extra rules per beam seach iteration, defaults to 20
      :type D: int, optional
      :param B: Width of beam search, defaults to 10
      :type B: int, optional
      :param iterMax: Maximum number of iterations of column generation, defaults to 10
      :type iterMax: int, optional
      :param eps: Numerical tolerance on comparisons, defaults to 1e-6
      :type eps: float, optional
      :param silent: Silence non-optimizer output, defaults to False
      :type silent: bool
      :param verbose: Verbose optimizer output, defaults to False
      :type verbose: bool, optional
      :param solver: Linear programming solver used by CVXPY to solve the LP relaxation, defaults to 'ECOS'
      :type solver: str, optional
      :param rounding: Strategy to perform rounding, either 'greedy' or 'greedy_sweep', defaults to 'greedy_sweep'
      :type rounding: str, optional
      """
      self.alpha = alpha
      self.lambda0 = lambda0
      self.lambda1 = lambda1
      self.K = K
      self.D = D
      self.B = B
      self.iterMax = iterMax
      self.eps = eps
      self.silent = silent
      self.verbose = verbose
      self.solver = solver
      self.rounding = rounding
  
      self.logger = logging.getLogger(__name__)
      self.lp_obj_value = None
  
      # For get_params / set_params
      self.valid_params = [
          "alpha",
          "lambda0",
          "lambda1",
          "K",
          "D",
          "B",
          "iterMax",
          "silent",
          "eps",
      ]
  
imports: import logging
  from typing import Union
  import cvxpy
  import numpy
  import pandas
  from sklearn.metrics import roc_auc_score
  from .beam_search import beam_search
label_desc: Use image node_id 1 to create a new OverlapBooleanRule object  with example: obj = OverlapBooleanRule(alpha, lambda0, lambda1, K, D, B, iterMax, eps, silent, verbose, solver, rounding)