class_docstr: EXPERIMENTAL
  
  AutoGluon InterpretableTabularPredictor predicts values in a column of a tabular dataset (classification or regression).
  InterpretableTabularPredictor shares the same functionality as TabularPredictor, but is limited to simple models
  that are easier to interpret visually via simple rules.
  
  InterpretableTabularPredictor should be used when accuracy is not important,
  and instead interpretability is the key requirement.
  
  Categorical features are one-hot-encoded to preserve interpretability.
  
  Stacking and bagging are not available in this predictor to preserve interpretability.
docstr: Leaderboard of fitted interpretable models along with their corresponding complexities.
  Identical to `.leaderboard`, but with an additional 'complexity' column indicating
  the number of rules used in the model.
  
  Models which do not support calculating 'complexity' will be filtered from this result.
docstr_tok: ["Leaderboard","of","fitted","interpretable","models","along","with","their","corresponding","complexities",".","Identical","to","`",".leaderboard","`",",","but","with","an","additional","'complexity","'","column","indicating","the","number","of","rules","used","in","the","model",".","Models","which","do","not","support","calculating","'complexity","'","will","be","filtered","from","this","result","."]
code: def leaderboard_interpretable(
      self, verbose: bool = False, **kwargs
  ) -> pd.DataFrame:
      """
      Leaderboard of fitted interpretable models along with their corresponding complexities.
      Identical to `.leaderboard`, but with an additional 'complexity' column indicating
      the number of rules used in the model.
  
      Models which do not support calculating 'complexity' will be filtered from this result.
      """
      silent = kwargs.pop("silent", None)
      if silent is not None:
          verbose = not silent
      leaderboard = self.leaderboard(**kwargs)
  
      complexities = []
      info = self.info()
      for i in range(leaderboard.shape[0]):
          model_name = leaderboard.iloc[i]["model"]
          complexities.append(
              info["model_info"][model_name].get("complexity", np.nan)
          )
      leaderboard.insert(
          2, "complexity", complexities
      )  # insert directly after score_test/score_val
      leaderboard = leaderboard[
          ~pd.isna(leaderboard.complexity)
      ]  # remove non-interpretable models
      score_col = (
          "score_test"
          if "score_test" in leaderboard.columns
          else "score_val"
      )
      leaderboard = leaderboard.sort_values(
          by=[score_col, "complexity"],
          ascending=[False, True],
          ignore_index=True,
      )
      if verbose:
          with pd.option_context(
              "display.max_rows",
              None,
              "display.max_columns",
              None,
              "display.width",
              1000,
          ):
              print(leaderboard)
      return leaderboard
  
file_path: autogluon/tabular/src/autogluon/tabular/predictor/interpretable_predictor.py
imports: import logging
  import numpy
  import pandas
  from .predictor import TabularPredictor
label_desc: Use image node_id 3 for calling the InterpretableTabularPredictor obj's underlying member method code with example usage: obj.leaderboard_interpretable(verbose) and returns: leaderboard