code: def from_json(self, params):
      if params is not None:
          self._convert_method = params.get("convert_method", None)
          self._columns = params.get("columns", [])
          if (
              self._convert_method
              == PreprocessingCategorical.CONVERT_LOO
          ):
              self._enc = LooEncoder()
              self._enc.from_json(params.get("enc", {}))
          else:
              self._convert_params = params.get("convert_params", {})
  
      else:
          self._convert_method, self._convert_params = None, None
          self._columns = []
  
file_path: mljar-supervised/supervised/preprocessing/preprocessing_categorical.py
imports: import json
  import os
  import numpy
  import pandas
  from supervised.preprocessing.label_binarizer import LabelBinarizer
  from supervised.preprocessing.label_encoder import LabelEncoder
  from supervised.preprocessing.loo_encoder import LooEncoder
  from supervised.preprocessing.preprocessing_utils import PreprocessingUtils
label_desc: Use image node_id 7 for calling the PreprocessingCategorical obj's underlying member method code with example usage: obj.from_json(params) without return types