class_docstr: Class for importing LightGBM models.
class_docstr_tok: ["Class","for","importing","LightGBM","models","."]
docstr: Create a `Classifier` instance from a LightGBM model.
  
  :param model: LightGBM model.
  :param clip_values: Tuple of the form `(min, max)` representing the minimum and maximum values allowed
         for features.
  :param preprocessing_defences: Preprocessing defence(s) to be applied by the classifier.
  :param postprocessing_defences: Postprocessing defence(s) to be applied by the classifier.
  :param preprocessing: Tuple of the form `(subtrahend, divisor)` of floats or `np.ndarray` of values to be
         used for data preprocessing. The first value will be subtracted from the input. The input will then
         be divided by the second one.
docstr_tok: ["Create","a","`","Classifier","`","instance","from","a","LightGBM","model",".",":","param","model",":","LightGBM","model",".",":","param","clip_values",":","Tuple","of","the","form","`","(","min",",","max",")","`","representing","the","minimum","and","maximum","values","allowed","for","features",".",":","param","preprocessing_defences",":","Preprocessing","defence","(","s",")","to","be","applied","by","the","classifier",".",":","param","postprocessing_defences",":","Postprocessing","defence","(","s",")","to","be","applied","by","the","classifier",".",":","param","preprocessing",":","Tuple","of","the","form","`","(","subtrahend",",","divisor",")","`","of","floats","or","`","np.ndarray","`","of","values","to","be","used","for","data","preprocessing",".","The","first","value","will","be","subtracted","from","the","input",".","The","input","will","then","be","divided","by","the","second","one","."]
code: def __init__(
      self,
      model: Optional["lightgbm.Booster"] = None,  # type: ignore
      clip_values: Optional["CLIP_VALUES_TYPE"] = None,
      preprocessing_defences: Union[
          "Preprocessor", List["Preprocessor"], None
      ] = None,
      postprocessing_defences: Union[
          "Postprocessor", List["Postprocessor"], None
      ] = None,
      preprocessing: "PREPROCESSING_TYPE" = (0.0, 1.0),
  ) -> None:
      """
      Create a `Classifier` instance from a LightGBM model.
  
      :param model: LightGBM model.
      :param clip_values: Tuple of the form `(min, max)` representing the minimum and maximum values allowed
             for features.
      :param preprocessing_defences: Preprocessing defence(s) to be applied by the classifier.
      :param postprocessing_defences: Postprocessing defence(s) to be applied by the classifier.
      :param preprocessing: Tuple of the form `(subtrahend, divisor)` of floats or `np.ndarray` of values to be
             used for data preprocessing. The first value will be subtracted from the input. The input will then
             be divided by the second one.
      """
      from lightgbm import Booster  # type: ignore
  
      if not isinstance(model, Booster):  # pragma: no cover
          raise TypeError("Model must be of type lightgbm.Booster")
  
      super().__init__(
          model=model,
          clip_values=clip_values,
          preprocessing_defences=preprocessing_defences,
          postprocessing_defences=postprocessing_defences,
          preprocessing=preprocessing,
      )
  
      self._input_shape = (self._model.num_feature(),)
      self.nb_classes = self._get_nb_classes()
  
file_path: adversarial-robustness-toolbox/art/estimators/classification/lightgbm.py
imports: from __future__ import absolute_import, division, print_function, unicode_literals
  from copy import deepcopy
  import logging
  import os
  import pickle
  from typing import List, Optional, Union, Tuple, TYPE_CHECKING
  import numpy
  from art.estimators.classification.classifier import ClassifierDecisionTree
  from art import config
label_desc: Use image node_id 1 to create a new LightGBMClassifier object from inherited base classes: ClassifierDecisionTree with example: obj = LightGBMClassifier(model, clip_values, preprocessing_defences, postprocessing_defences, preprocessing)