class_docstr: Estimator for learning linear regressors by SGD.
  
  Parameters
  ----------
  loss : str, 'squared', 'epsilon_insensitive', 'huber'
      Loss function to be used.
  
  penalty : str, 'l2', 'l1', 'l1/l2'
      The penalty to be used.
  
      - l2: ridge
      - l1: lasso
      - l1/l2: group lasso
  
  alpha : float
      Weight of the penalty term.
  
  learning_rate : 'pegasos', 'constant', 'invscaling'
      Learning schedule to use.
  
  eta0 : float
      Step size.
  
  power_t : float
      Power to be used (when learning_rate='invscaling').
  
  epsilon : float
      Value to be used for epsilon-insensitive loss.
  
  fit_intercept : bool
      Whether to fit the intercept or not.
  
  intercept_decay : float
      Value by which the intercept is multiplied (to regularize it).
  
  max_iter : int
      Maximum number of iterations to perform.
  
  shuffle : bool
      Whether to shuffle data.
  
  callback : callable
      Callback function.
  
  n_calls : int
      Frequency with which `callback` must be called.
  
  random_state : RandomState or int
      The seed of the pseudo random number generator to use.
  
  verbose : int
      Verbosity level.
docstr: Perform regression on an array of test vectors X.
  
  Parameters
  ----------
  X : array-like, shape = [n_samples, n_features]
  
  Returns
  -------
  p : array, shape = [n_samples]
      Predicted target values for X
docstr_tok: ["Perform","regression","on","an","array","of","test","vectors","X.","Parameters","--","--","--","--","--","X",":","array-like",",","shape","=","[","n_samples",",","n_features","]","Returns","--","--","--","-","p",":","array",",","shape","=","[","n_samples","]","Predicted","target","values","for","X"]
code: def predict(self, X):
      """
      Perform regression on an array of test vectors X.
  
      Parameters
      ----------
      X : array-like, shape = [n_samples, n_features]
  
      Returns
      -------
      p : array, shape = [n_samples]
          Predicted target values for X
      """
      try:
          assert_all_finite(self.coef_)
          pred = safe_sparse_dot(X, self.coef_.T)
          pred += self.intercept_
      except ValueError:
          n_samples = X.shape[0]
          n_vectors = self.coef_.shape[0]
          pred = np.zeros((n_samples, n_vectors))
  
      if not self.outputs_2d_:
          pred = pred.ravel()
  
      return pred
  
imports: import warnings
  import numpy
  from sklearn.utils import check_random_state
  from sklearn.utils.extmath import safe_sparse_dot
  from sklearn.utils.validation import assert_all_finite
  from .base import BaseClassifier
  from .base import BaseRegressor
  from .dataset_fast import get_dataset
  from .sgd_fast import _binary_sgd
  from .sgd_fast import _multiclass_sgd
  from .sgd_fast import ModifiedHuber
  from .sgd_fast import Hinge
  from .sgd_fast import SquaredHinge
  from .sgd_fast import Log
  from .sgd_fast import SquaredLoss
  from .sgd_fast import Huber
  from .sgd_fast import EpsilonInsensitive
  from .sgd_fast import MulticlassLog
  from .sgd_fast import MulticlassHinge
  from .sgd_fast import MulticlassSquaredHinge
label_desc: Use image node_id 4 for calling the SGDRegressor obj's underlying member method code with example usage: obj.predict(X) and returns: pred