class_docstr: Wrapper that trains a separate LGBM Booster for each quantile level.
class_docstr_tok: ["Wrapper","that","trains","a","separate","LGBM","Booster","for","each","quantile","level","."]
code: def predict(self, X, num_threads=0):
      predictions = {}
      for q in self.quantile_levels:
          predictions[q] = self.model_dict[q].predict(
              X, num_threads=num_threads
          )
      return DataFrame(predictions)
  
imports: import copy
  import os
  import time
  from typing import List, Optional
  import numpy
  import pandas
  from pandas import DataFrame, Series
  from autogluon.common.utils.try_import import try_import_lightgbm
  from autogluon.core.constants import BINARY, MULTICLASS, QUANTILE, REGRESSION, SOFTCLASS
  from autogluon.core.utils.exceptions import TimeLimitExceeded
label_desc: Use image node_id 3 for calling the QuantileBooster obj's underlying member method code with example usage: obj.predict(X, num_threads) and returns: DataFrame