docs: def explain_linear_regressor_weights(reg,
                                       vec=None,
                                       top=_TOP,
                                       target_names=None,
                                       targets=None,
                                       feature_names=None,
                                       coef_scale=None,
                                       feature_re=None,
                                       feature_filter=None,
                                       ):
      """
      Return an explanation of a linear regressor weights.
  
      See :func:`eli5.explain_weights` for description of
      ``top``, ``target_names``, ``targets``, ``feature_names``,
      ``feature_re`` and ``feature_filter`` parameters.
  
      ``vec`` is a vectorizer instance used to transform
      raw features to the input of the regressor ``reg``; you can
      pass it instead of ``feature_names``.
  
      ``coef_scale`` is a 1D np.ndarray with a scaling coefficient
      for each feature; coef[i] = coef[i] * coef_scale[i] if
      coef_scale[i] is not nan. Use it if you want to scale coefficients
      before displaying them, to take input feature sign or scale in account.
      """
      if isinstance(reg, (SVR, NuSVR)) and reg.kernel != 'linear':
          return explain_weights_sklearn_not_supported(reg)
  
      feature_names, coef_scale = handle_hashing_vec(vec, feature_names,
                                                     coef_scale)
      feature_names, flt_indices = get_feature_names_filtered(
          reg, vec,
          feature_names=feature_names,
          feature_filter=feature_filter,
          feature_re=feature_re,
      )
      _extra_caveats = "\n" + HASHING_CAVEATS if is_invhashing(vec) else ''
  
      def _features(target_id):
          coef = get_coef(reg, target_id, scale=coef_scale)
          if flt_indices is not None:
              coef = coef[flt_indices]
          return get_top_features(feature_names, coef, top)
  
      display_names = get_target_display_names(get_default_target_names(reg),
                                               target_names, targets)
      if is_multitarget_regressor(reg):
          return Explanation(
              targets=[
                  TargetExplanation(
                      target=target_name,
                      feature_weights=_features(target_id)
                  )
                  for target_id, target_name in display_names
                  ],
              description=DESCRIPTION_REGRESSION_MULTITARGET + _extra_caveats,
              estimator=repr(reg),
              method='linear model',
              is_regression=True,
          )
      else:
          return Explanation(
              targets=[TargetExplanation(
                  target=display_names[0][1],
                  feature_weights=_features(0),
              )],
              description=DESCRIPTION_REGRESSION + _extra_caveats,
              estimator=repr(reg),
              method='linear model',
              is_regression=True,
          )