class_docstr: Linear Rule Regression is a directly interpretable supervised learning
  method that performs linear regression on rule-based features.
class_docstr_tok: ["Linear","Rule","Regression","is","a","directly","interpretable","supervised","learning","method","that","performs","linear","regression","on","rule-based","features","."]
docstr: Args:
      lambda0 (float, optional): Regularization - fixed cost of each rule
      lambda1 (float, optional): Regularization - additional cost of each literal in rule
      useOrd (bool, optional): Also use standardized numerical features
      debias (bool, optional): Re-fit final solution without regularization
      K (int, optional): Column generation - maximum number of columns generated per iteration
      iterMax (int, optional): Column generation - maximum number of iterations
      B (int, optional): Column generation - beam search width
      wLB (float, optional): Column generation - weight on lower bound in evaluating nodes
      stopEarly (bool, optional): Column generation - stop after current degree once improving column found
      eps (float, optional): Numerical tolerance on comparisons
docstr_tok: ["Args",":","lambda0","(","float",",","optional",")",":","Regularization","-","fixed","cost","of","each","rule","lambda1","(","float",",","optional",")",":","Regularization","-","additional","cost","of","each","literal","in","rule","useOrd","(","bool",",","optional",")",":","Also","use","standardized","numerical","features","debias","(","bool",",","optional",")",":","Re-fit","final","solution","without","regularization","K","(","int",",","optional",")",":","Column","generation","-","maximum","number","of","columns","generated","per","iteration","iterMax","(","int",",","optional",")",":","Column","generation","-","maximum","number","of","iterations","B","(","int",",","optional",")",":","Column","generation","-","beam","search","width","wLB","(","float",",","optional",")",":","Column","generation","-","weight","on","lower","bound","in","evaluating","nodes","stopEarly","(","bool",",","optional",")",":","Column","generation","-","stop","after","current","degree","once","improving","column","found","eps","(","float",",","optional",")",":","Numerical","tolerance","on","comparisons"]
code: def __init__(
      self,
      lambda0=0.05,
      lambda1=0.01,
      useOrd=False,
      debias=True,
      K=1,
      iterMax=200,
      B=1,
      wLB=0.5,
      stopEarly=False,
      eps=1e-6,
  ):
      """
      Args:
          lambda0 (float, optional): Regularization - fixed cost of each rule
          lambda1 (float, optional): Regularization - additional cost of each literal in rule
          useOrd (bool, optional): Also use standardized numerical features
          debias (bool, optional): Re-fit final solution without regularization
          K (int, optional): Column generation - maximum number of columns generated per iteration
          iterMax (int, optional): Column generation - maximum number of iterations
          B (int, optional): Column generation - beam search width
          wLB (float, optional): Column generation - weight on lower bound in evaluating nodes
          stopEarly (bool, optional): Column generation - stop after current degree once improving column found
          eps (float, optional): Numerical tolerance on comparisons
      """
      # Use standardized ordinal features
      self.useOrd = useOrd
      # Regularization parameters
      self.lambda0 = lambda0  # fixed cost of term
      self.lambda1 = lambda1  # cost per literal
      self.debias = (
          debias  # re-fit final solution without regularization
      )
      # Column generation parameters
      self.K = K  # maximum number of columns generated per iteration
      self.iterMax = iterMax  # maximum number of iterations
      self.B = B  # beam search width
      self.wLB = wLB  # weight on lower bound in evaluating nodes
      self.stopEarly = stopEarly  # stop after current degree once improving column found
      # Numerical tolerance on comparisons
      self.eps = eps
  
file_path: AIX360/aix360/algorithms/rbm/linear_regression.py
imports: import numpy
  import pandas
  from sklearn.linear_model import Lasso, Ridge
  from sklearn.base import BaseEstimator, RegressorMixin
  import matplotlib.pyplot
  from .beam_search import beam_search_K1
label_desc: Use image node_id 1 to create a new LinearRuleRegression object from inherited base classes: BaseEstimator, RegressorMixin with example: obj = LinearRuleRegression(lambda0, lambda1, useOrd, debias, K, iterMax, B, wLB, stopEarly, eps)