class_docstr: Extract model data and port a GaussianNB classifier.
code: def __init__(self, estimator: GaussianNBClass):
      super().__init__(estimator)
      L.info("Create specific estimator `%s`.", self.estimator_name)
      est = self.estimator  # alias
  
      # Is the estimator fitted?
      try:
          est.sigma_
      except AttributeError:
          raise exception.NotFittedEstimatorError(self.estimator_name)
  
      self.meta_info = dict(
          n_features=len(est.sigma_[0]),
          n_classes=len(est.classes_),
      )
      L.info("Meta info (keys): {}".format(self.meta_info.keys()))
      L.opt(lazy=True).debug("Meta info: {}".format(self.meta_info))
  
      self.model_data = dict(
          priors=est.class_prior_.tolist(),
          sigmas=est.sigma_.tolist(),
          thetas=est.theta_.tolist(),
      )
      L.info("Model data (keys): {}".format(self.model_data.keys()))
      L.opt(lazy=True).debug("Model data: {}".format(self.model_data))
  
file_path: sklearn-porter/sklearn_porter/estimator/GaussianNB/__init__.py
imports: from copy import deepcopy
  from json import dumps, encoder
  from typing import Tuple, Union, Callable
  from loguru import logger
  from sklearn.naive_bayes import GaussianNB
  from sklearn_porter import enums
  from sklearn_porter import exceptions
  from sklearn_porter.estimator.EstimatorApiABC import EstimatorApiABC
  from sklearn_porter.estimator.EstimatorBase import EstimatorBase
label_desc: Use image node_id 1 to create a new GaussianNB object from inherited base classes: EstimatorBase, EstimatorApiABC with example: obj = GaussianNB(estimator)