class_docstr: Linear model (scikit-learn): https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html
  
  Model backend differs depending on problem_type:
  
      'binary' & 'multiclass': https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html
  
      'regression': https://scikit-learn.org/stable/modules/generated/sklearn.linear_model.Ridge.html#sklearn.linear_model.Ridge
code: def _get_model_type(self):
      penalty = self.params.get("penalty", "L2")
      if self.params_aux.get("use_daal", True):
          # Appears to give 20x training speedup when enabled
          try:
              # TODO: Add more granular switch, currently this affects all future LR models even if they had `use_daal=False`
              from sklearnex.linear_model import (
                  Lasso,
                  LogisticRegression,
                  Ridge,
              )
  
              logger.log(15, "\tUsing sklearnex LR backend...")
          except:
              from sklearn.linear_model import (
                  Lasso,
                  LogisticRegression,
                  Ridge,
              )
      else:
          from sklearn.linear_model import (
              Lasso,
              LogisticRegression,
              Ridge,
          )
      if self.problem_type == REGRESSION:
          if penalty == "L2":
              model_type = Ridge
          elif penalty == "L1":
              model_type = Lasso
          else:
              raise AssertionError(
                  f'Unknown value for penalty "{penalty}" - supported types are ["L1", "L2"]'
              )
      else:
          model_type = LogisticRegression
      return model_type
  
imports: import logging
  import re
  import time
  import warnings
  from collections import defaultdict
  import numpy
  from sklearn.compose import ColumnTransformer
  from sklearn.feature_extraction.text import TfidfVectorizer
  from sklearn.impute import SimpleImputer
  from sklearn.pipeline import Pipeline
  from sklearn.preprocessing import QuantileTransformer, StandardScaler
  from autogluon.common.features.types import R_BOOL, R_CATEGORY, R_FLOAT, R_INT, R_OBJECT, S_BOOL, S_TEXT_AS_CATEGORY
  from autogluon.core.constants import BINARY, REGRESSION
  from autogluon.core.models import AbstractModel
  from autogluon.core.utils.exceptions import TimeLimitExceeded
  from .hyperparameters.parameters import IGNORE, INCLUDE, ONLY, _get_solver, get_param_baseline, preprocess_params_set
  from .hyperparameters.searchspaces import get_default_searchspace
  from .lr_preprocessing_utils import NlpDataPreprocessor, OheFeaturesGenerator
label_desc: Use image node_id 2 for calling the LinearModel obj's underlying member method code with example usage: obj._get_model_type() and returns: model_type