class_docstr: RuleFit
  
  Builds a RuleFit on a parsed dataset, for regression or 
  classification. 
class_docstr_tok: ["RuleFit","Builds","a","RuleFit","on","a","parsed","dataset",",","for","regression","or","classification","."]
docstr: :param model_id: Destination id for this model; auto-generated if not specified.
         Defaults to ``None``.
  :type model_id: Union[None, str, H2OEstimator], optional
  :param training_frame: Id of the training data frame.
         Defaults to ``None``.
  :type training_frame: Union[None, str, H2OFrame], optional
  :param validation_frame: Id of the validation data frame.
         Defaults to ``None``.
  :type validation_frame: Union[None, str, H2OFrame], optional
  :param seed: Seed for pseudo random number generator (if applicable).
         Defaults to ``-1``.
  :type seed: int
  :param response_column: Response variable column.
         Defaults to ``None``.
  :type response_column: str, optional
  :param ignored_columns: Names of columns to ignore for training.
         Defaults to ``None``.
  :type ignored_columns: List[str], optional
  :param algorithm: The algorithm to use to generate rules.
         Defaults to ``"auto"``.
  :type algorithm: Literal["auto", "drf", "gbm"]
  :param min_rule_length: Minimum length of rules. Defaults to 3.
         Defaults to ``3``.
  :type min_rule_length: int
  :param max_rule_length: Maximum length of rules. Defaults to 3.
         Defaults to ``3``.
  :type max_rule_length: int
  :param max_num_rules: The maximum number of rules to return. defaults to -1 which means the number of rules is
         selected
         by diminishing returns in model deviance.
         Defaults to ``-1``.
  :type max_num_rules: int
  :param model_type: Specifies type of base learners in the ensemble.
         Defaults to ``"rules_and_linear"``.
  :type model_type: Literal["rules_and_linear", "rules", "linear"]
  :param weights_column: Column with observation weights. Giving some observation a weight of zero is equivalent
         to excluding it from the dataset; giving an observation a relative weight of 2 is equivalent to repeating
         that row twice. Negative weights are not allowed. Note: Weights are per-row observation weights and do
         not increase the size of the data frame. This is typically the number of times a row is repeated, but
         non-integer values are supported as well. During training, rows with higher weights matter more, due to
         the larger loss function pre-factor. If you set weight = 0 for a row, the returned prediction frame at
         that row is zero and this is incorrect. To get an accurate prediction, remove all rows with weight == 0.
         Defaults to ``None``.
  :type weights_column: str, optional
  :param distribution: Distribution function
         Defaults to ``"auto"``.
  :type distribution: Literal["auto", "bernoulli", "multinomial", "gaussian", "poisson", "gamma", "tweedie", "laplace",
         "quantile", "huber"]
  :param rule_generation_ntrees: Specifies the number of trees to build in the tree model. Defaults to 50.
         Defaults to ``50``.
  :type rule_generation_ntrees: int
  :param auc_type: Set default multinomial AUC type.
         Defaults to ``"auto"``.
  :type auc_type: Literal["auto", "none", "macro_ovr", "weighted_ovr", "macro_ovo", "weighted_ovo"]
  :param remove_duplicates: Whether to remove rules which are identical to an earlier rule. Defaults to true.
         Defaults to ``True``.
  :type remove_duplicates: bool
  :param lambda_: Lambda for LASSO regressor.
         Defaults to ``None``.
  :type lambda_: List[float], optional
  :param max_categorical_levels: For every categorical feature, only use this many most frequent categorical
         levels for model training. Only used for categorical_encoding == EnumLimited.
         Defaults to ``10``.
  :type max_categorical_levels: int
docstr_tok: [":","param","model_id",":","Destination","id","for","this","model",";","auto-generated","if","not","specified",".","Defaults","to","``","None","``",".",":","type","model_id",":","Union","[","None",",","str",",","H2OEstimator","]",",","optional",":","param","training_frame",":","Id","of","the","training","data","frame",".","Defaults","to","``","None","``",".",":","type","training_frame",":","Union","[","None",",","str",",","H2OFrame","]",",","optional",":","param","validation_frame",":","Id","of","the","validation","data","frame",".","Defaults","to","``","None","``",".",":","type","validation_frame",":","Union","[","None",",","str",",","H2OFrame","]",",","optional",":","param","seed",":","Seed","for","pseudo","random","number","generator","(","if","applicable",")",".","Defaults","to","``","-1","``",".",":","type","seed",":","int",":","param","response_column",":","Response","variable","column",".","Defaults","to","``","None","``",".",":","type","response_column",":","str",",","optional",":","param","ignored_columns",":","Names","of","columns","to","ignore","for","training",".","Defaults","to","``","None","``",".",":","type","ignored_columns",":","List","[","str","]",",","optional",":","param","algorithm",":","The","algorithm","to","use","to","generate","rules",".","Defaults","to","``","``","auto","''","``",".",":","type","algorithm",":","Literal","[","``","auto","''",",","``","drf","''",",","``","gbm","''","]",":","param","min_rule_length",":","Minimum","length","of","rules",".","Defaults","to","3",".","Defaults","to","``","3","``",".",":","type","min_rule_length",":","int",":","param","max_rule_length",":","Maximum","length","of","rules",".","Defaults","to","3",".","Defaults","to","``","3","``",".",":","type","max_rule_length",":","int",":","param","max_num_rules",":","The","maximum","number","of","rules","to","return",".","defaults","to","-1","which","means","the","number","of","rules","is","selected","by","diminishing","returns","in","model","deviance",".","Defaults","to","``","-1","``",".",":","type","max_num_rules",":","int",":","param","model_type",":","Specifies","type","of","base","learners","in","the","ensemble",".","Defaults","to","``","``","rules_and_linear","''","``",".",":","type","model_type",":","Literal","[","``","rules_and_linear","''",",","``","rules","''",",","``","linear","''","]",":","param","weights_column",":","Column","with","observation","weights",".","Giving","some","observation","a","weight","of","zero","is","equivalent","to","excluding","it","from","the","dataset",";","giving","an","observation","a","relative","weight","of","2","is","equivalent","to","repeating","that","row","twice",".","Negative","weights","are","not","allowed",".","Note",":","Weights","are","per-row","observation","weights","and","do","not","increase","the","size","of","the","data","frame",".","This","is","typically","the","number","of","times","a","row","is","repeated",",","but","non-integer","values","are","supported","as","well",".","During","training",",","rows","with","higher","weights","matter","more",",","due","to","the","larger","loss","function","pre-factor",".","If","you","set","weight","=","0","for","a","row",",","the","returned","prediction","frame","at","that","row","is","zero","and","this","is","incorrect",".","To","get","an","accurate","prediction",",","remove","all","rows","with","weight","==","0",".","Defaults","to","``","None","``",".",":","type","weights_column",":","str",",","optional",":","param","distribution",":","Distribution","function","Defaults","to","``","``","auto","''","``",".",":","type","distribution",":","Literal","[","``","auto","''",",","``","bernoulli","''",",","``","multinomial","''",",","``","gaussian","''",",","``","poisson","''",",","``","gamma","''",",","``","tweedie","''",",","``","laplace","''",",","``","quantile","''",",","``","huber","''","]",":","param","rule_generation_ntrees",":","Specifies","the","number","of","trees","to","build","in","the","tree","model",".","Defaults","to","50",".","Defaults","to","``","50","``",".",":","type","rule_generation_ntrees",":","int",":","param","auc_type",":","Set","default","multinomial","AUC","type",".","Defaults","to","``","``","auto","''","``",".",":","type","auc_type",":","Literal","[","``","auto","''",",","``","none","''",",","``","macro_ovr","''",",","``","weighted_ovr","''",",","``","macro_ovo","''",",","``","weighted_ovo","''","]",":","param","remove_duplicates",":","Whether","to","remove","rules","which","are","identical","to","an","earlier","rule",".","Defaults","to","true",".","Defaults","to","``","True","``",".",":","type","remove_duplicates",":","bool",":","param","lambda_",":","Lambda","for","LASSO","regressor",".","Defaults","to","``","None","``",".",":","type","lambda_",":","List","[","float","]",",","optional",":","param","max_categorical_levels",":","For","every","categorical","feature",",","only","use","this","many","most","frequent","categorical","levels","for","model","training",".","Only","used","for","categorical_encoding","==","EnumLimited",".","Defaults","to","``","10","``",".",":","type","max_categorical_levels",":","int"]
code: def __init__(
      self,
      model_id=None,  # type: Optional[Union[None, str, H2OEstimator]]
      training_frame=None,  # type: Optional[Union[None, str, H2OFrame]]
      validation_frame=None,  # type: Optional[Union[None, str, H2OFrame]]
      seed=-1,  # type: int
      response_column=None,  # type: Optional[str]
      ignored_columns=None,  # type: Optional[List[str]]
      algorithm="auto",  # type: Literal["auto", "drf", "gbm"]
      min_rule_length=3,  # type: int
      max_rule_length=3,  # type: int
      max_num_rules=-1,  # type: int
      model_type="rules_and_linear",  # type: Literal["rules_and_linear", "rules", "linear"]
      weights_column=None,  # type: Optional[str]
      distribution="auto",  # type: Literal["auto", "bernoulli", "multinomial", "gaussian", "poisson", "gamma", "tweedie", "laplace", "quantile", "huber"]
      rule_generation_ntrees=50,  # type: int
      auc_type="auto",  # type: Literal["auto", "none", "macro_ovr", "weighted_ovr", "macro_ovo", "weighted_ovo"]
      remove_duplicates=True,  # type: bool
      lambda_=None,  # type: Optional[List[float]]
      max_categorical_levels=10,  # type: int
  ):
      """
      :param model_id: Destination id for this model; auto-generated if not specified.
             Defaults to ``None``.
      :type model_id: Union[None, str, H2OEstimator], optional
      :param training_frame: Id of the training data frame.
             Defaults to ``None``.
      :type training_frame: Union[None, str, H2OFrame], optional
      :param validation_frame: Id of the validation data frame.
             Defaults to ``None``.
      :type validation_frame: Union[None, str, H2OFrame], optional
      :param seed: Seed for pseudo random number generator (if applicable).
             Defaults to ``-1``.
      :type seed: int
      :param response_column: Response variable column.
             Defaults to ``None``.
      :type response_column: str, optional
      :param ignored_columns: Names of columns to ignore for training.
             Defaults to ``None``.
      :type ignored_columns: List[str], optional
      :param algorithm: The algorithm to use to generate rules.
             Defaults to ``"auto"``.
      :type algorithm: Literal["auto", "drf", "gbm"]
      :param min_rule_length: Minimum length of rules. Defaults to 3.
             Defaults to ``3``.
      :type min_rule_length: int
      :param max_rule_length: Maximum length of rules. Defaults to 3.
             Defaults to ``3``.
      :type max_rule_length: int
      :param max_num_rules: The maximum number of rules to return. defaults to -1 which means the number of rules is
             selected
             by diminishing returns in model deviance.
             Defaults to ``-1``.
      :type max_num_rules: int
      :param model_type: Specifies type of base learners in the ensemble.
             Defaults to ``"rules_and_linear"``.
      :type model_type: Literal["rules_and_linear", "rules", "linear"]
      :param weights_column: Column with observation weights. Giving some observation a weight of zero is equivalent
             to excluding it from the dataset; giving an observation a relative weight of 2 is equivalent to repeating
             that row twice. Negative weights are not allowed. Note: Weights are per-row observation weights and do
             not increase the size of the data frame. This is typically the number of times a row is repeated, but
             non-integer values are supported as well. During training, rows with higher weights matter more, due to
             the larger loss function pre-factor. If you set weight = 0 for a row, the returned prediction frame at
             that row is zero and this is incorrect. To get an accurate prediction, remove all rows with weight == 0.
             Defaults to ``None``.
      :type weights_column: str, optional
      :param distribution: Distribution function
             Defaults to ``"auto"``.
      :type distribution: Literal["auto", "bernoulli", "multinomial", "gaussian", "poisson", "gamma", "tweedie", "laplace",
             "quantile", "huber"]
      :param rule_generation_ntrees: Specifies the number of trees to build in the tree model. Defaults to 50.
             Defaults to ``50``.
      :type rule_generation_ntrees: int
      :param auc_type: Set default multinomial AUC type.
             Defaults to ``"auto"``.
      :type auc_type: Literal["auto", "none", "macro_ovr", "weighted_ovr", "macro_ovo", "weighted_ovo"]
      :param remove_duplicates: Whether to remove rules which are identical to an earlier rule. Defaults to true.
             Defaults to ``True``.
      :type remove_duplicates: bool
      :param lambda_: Lambda for LASSO regressor.
             Defaults to ``None``.
      :type lambda_: List[float], optional
      :param max_categorical_levels: For every categorical feature, only use this many most frequent categorical
             levels for model training. Only used for categorical_encoding == EnumLimited.
             Defaults to ``10``.
      :type max_categorical_levels: int
      """
      super(H2ORuleFitEstimator, self).__init__()
      self._parms = {}
      self._id = self._parms["model_id"] = model_id
      self.training_frame = training_frame
      self.validation_frame = validation_frame
      self.seed = seed
      self.response_column = response_column
      self.ignored_columns = ignored_columns
      self.algorithm = algorithm
      self.min_rule_length = min_rule_length
      self.max_rule_length = max_rule_length
      self.max_num_rules = max_num_rules
      self.model_type = model_type
      self.weights_column = weights_column
      self.distribution = distribution
      self.rule_generation_ntrees = rule_generation_ntrees
      self.auc_type = auc_type
      self.remove_duplicates = remove_duplicates
      self.lambda_ = lambda_
      self.max_categorical_levels = max_categorical_levels
  
imports: from h2o.utils.metaclass import deprecated_params, deprecated_property
  import h2o
  from h2o.estimators.estimator_base import H2OEstimator
  from h2o.exceptions import H2OValueError
  from h2o.frame import H2OFrame
  from h2o.utils.typechecks import assert_is_type, Enum, numeric
label_desc: Use image node_id 1 to create a new H2ORuleFitEstimator object from inherited base classes: H2OEstimator with example: obj = H2ORuleFitEstimator(model_id, training_frame, validation_frame, seed, response_column, ignored_columns, algorithm, min_rule_length, max_rule_length, max_num_rules, model_type, weights_column, distribution, rule_generation_ntrees, auc_type, remove_duplicates, lambda_, max_categorical_levels)