class_docstr: Test class for regression tests.
code: def check_non_linear_models(
      self, name, use_feature_hashing=False, use_rescaling=False
  ):
      # create a FeatureSet object with the data we want to use
      if use_feature_hashing:
          train_fs, test_fs, _ = make_regression_data(
              num_examples=5000,
              num_features=10,
              use_feature_hashing=True,
              feature_bins=5,
          )
      else:
          train_fs, test_fs, _ = make_regression_data(
              num_examples=2000, num_features=3
          )
  
      # create the learner
      if use_rescaling:
          name = f"Rescaled{name}"
      learner = Learner(name)
  
      # train it with the training feature set we created
      # make sure to set the grid objective to pearson
      learner.train(
          train_fs, grid_search=True, grid_objective="pearson"
      )
  
      # Note that we cannot check the feature weights here
      # since `model_params()` is not defined for non-linear
      # kernels.
  
      # now generate the predictions on the test FeatureSet
      predictions = learner.predict(test_fs)
  
      # now make sure that the predictions are close to
      # the actual test FeatureSet labels that we generated
      # using make_regression_data. To do this, we just
      # make sure that they are correlated with pearson > 0.95
      cor, _ = pearsonr(predictions, test_fs.labels)
      self.assertGreater(cor, 0.95)
  
imports: import math
  import re
  import unittest
  import warnings
  from itertools import chain, product
  import numpy
  from numpy.testing import assert_allclose, assert_array_equal
  from scipy.stats import pearsonr
  from sklearn.exceptions import ConvergenceWarning
  from sklearn.linear_model import LinearRegression, LogisticRegression
  from skll.config import _setup_config_parser
  from skll.data import FeatureSet, NDJReader, NDJWriter
  from skll.experiments import run_configuration
  from skll.learner import Learner
  from skll.learner.utils import rescaled
  from skll.utils.constants import CLASSIFICATION_ONLY_METRICS
  from skll.utils.testing import config_dir, fill_in_config_paths_for_fancy_output, make_regression_data, other_dir, output_dir, test_dir, train_dir, unlink
label_desc: Use image node_id 7 for calling the TestRegression obj's underlying member method code with example usage: obj.check_non_linear_models(name, use_feature_hashing, use_rescaling) without return types