class_docstr: Linear regression with combined L1 and L2 priors as regularizer.
  
  Minimizes the objective function::
  
          1 / (2 * n_samples) * ||y - Xw||^2_2
          + alpha * l1_ratio * ||w||_1
          + 0.5 * alpha * (1 - l1_ratio) * ||w||^2_2
  
  If you are interested in controlling the L1 and L2 penalty
  separately, keep in mind that this is equivalent to::
  
          a * L1 + b * L2
  
  where::
  
          alpha = a + b and l1_ratio = a / (a + b)
  
  The parameter l1_ratio corresponds to alpha in the glmnet R package while
  alpha corresponds to the lambda parameter in glmnet. Specifically, l1_ratio
  = 1 is the lasso penalty. Currently, l1_ratio <= 0.01 is not reliable,
  unless you supply your own sequence of alpha.
  
  Read more in the :ref:`User Guide <elastic_net>`.
  
  Parameters
  ----------
  alpha : float, optional
      Constant that multiplies the penalty terms. Defaults to 1.0.
      See the notes for the exact mathematical meaning of this
      parameter.``alpha = 0`` is equivalent to an ordinary least square, solved
      by the :class:`LinearRegression` object. For numerical
      reasons, using ``alpha = 0`` with the ``Lasso`` object is not advised.
      Given this, you should use the :class:`LinearRegression` object.
  
  l1_ratio : float
      The ElasticNet mixing parameter, with ``0 <= l1_ratio <= 1``. For
      ``l1_ratio = 0`` the penalty is an L2 penalty. ``For l1_ratio = 1`` it
      is an L1 penalty.  For ``0 < l1_ratio < 1``, the penalty is a
      combination of L1 and L2.
  
  fit_intercept : bool
      Whether the intercept should be estimated or not. If ``False``, the
      data is assumed to be already centered.
  
  normalize : boolean, optional, default False
      If ``True``, the regressors X will be normalized before regression.
      This parameter is ignored when ``fit_intercept`` is set to ``False``.
      When the regressors are normalized, note that this makes the
      hyperparameters learnt more robust and almost independent of the number
      of samples. The same property is not valid for standardized data.
      However, if you wish to standardize, please use
      :class:`preprocessing.StandardScaler` before calling ``fit`` on an estimator
      with ``normalize=False``.
  
  precompute : True | False | array-like
      Whether to use a precomputed Gram matrix to speed up
      calculations. The Gram matrix can also be passed as argument.
      For sparse input this option is always ``True`` to preserve sparsity.
  
  max_iter : int, optional
      The maximum number of iterations
  
  copy_X : boolean, optional, default True
      If ``True``, X will be copied; else, it may be overwritten.
  
  tol : float, optional
      The tolerance for the optimization: if the updates are
      smaller than ``tol``, the optimization code checks the
      dual gap for optimality and continues until it is smaller
      than ``tol``.
  
  warm_start : bool, optional
      When set to ``True``, reuse the solution of the previous call to fit as
      initialization, otherwise, just erase the previous solution.
  
  positive : bool, optional
      When set to ``True``, forces the coefficients to be positive.
  
  selection : str, default 'cyclic'
      If set to 'random', a random coefficient is updated every iteration
      rather than looping over features sequentially by default. This
      (setting to 'random') often leads to significantly faster convergence
      especially when tol is higher than 1e-4.
  
  random_state : int, RandomState instance, or None (default)
      The seed of the pseudo random number generator that selects
      a random feature to update. Useful only when selection is set to
      'random'.
  
  Attributes
  ----------
  coef_ : array, shape (n_features,) | (n_targets, n_features)
      parameter vector (w in the cost function formula)
  
  sparse_coef_ : scipy.sparse matrix, shape (n_features, 1) |             (n_targets, n_features)
      ``sparse_coef_`` is a readonly property derived from ``coef_``
  
  intercept_ : float | array, shape (n_targets,)
      independent term in decision function.
  
  n_iter_ : array-like, shape (n_targets,)
      number of iterations run by the coordinate descent solver to reach
      the specified tolerance.
  
  Notes
  -----
  To avoid unnecessary memory duplication the X argument of the fit method
  should be directly passed as a Fortran-contiguous numpy array.
  
  See also
  --------
  SGDRegressor: implements elastic net regression with incremental training.
  SGDClassifier: implements logistic regression with elastic net penalty
      (``SGDClassifier(loss="log", penalty="elasticnet")``).
class_docstr_tok: ["Linear","regression","with","combined","L1","and","L2","priors","as","regularizer",".","Minimizes","the","objective","function",":",":","1","\/","(","2","*","n_samples",")","*","||y","-","Xw||^2_2","+","alpha","*","l1_ratio","*","||w||_1","+","0.5","*","alpha","*","(","1","-","l1_ratio",")","*","||w||^2_2","If","you","are","interested","in","controlling","the","L1","and","L2","penalty","separately",",","keep","in","mind","that","this","is","equivalent","to",":",":","a","*","L1","+","b","*","L2","where",":",":","alpha","=","a","+","b","and","l1_ratio","=","a","\/","(","a","+","b",")","The","parameter","l1_ratio","corresponds","to","alpha","in","the","glmnet","R","package","while","alpha","corresponds","to","the","lambda","parameter","in","glmnet",".","Specifically",",","l1_ratio","=","1","is","the","lasso","penalty",".","Currently",",","l1_ratio","<","=","0.01","is","not","reliable",",","unless","you","supply","your","own","sequence","of","alpha",".","Read","more","in","the",":","ref",":","`","User","Guide","<","elastic_net",">","`",".","Parameters","--","--","--","--","--","alpha",":","float",",","optional","Constant","that","multiplies","the","penalty","terms",".","Defaults","to","1.0",".","See","the","notes","for","the","exact","mathematical","meaning","of","this","parameter.","``","alpha","=","0","``","is","equivalent","to","an","ordinary","least","square",",","solved","by","the",":","class",":","`","LinearRegression","`","object",".","For","numerical","reasons",",","using","``","alpha","=","0","``","with","the","``","Lasso","``","object","is","not","advised",".","Given","this",",","you","should","use","the",":","class",":","`","LinearRegression","`","object",".","l1_ratio",":","float","The","ElasticNet","mixing","parameter",",","with","``","0","<","=","l1_ratio","<","=","1","``",".","For","``","l1_ratio","=","0","``","the","penalty","is","an","L2","penalty",".","``","For","l1_ratio","=","1","``","it","is","an","L1","penalty",".","For","``","0","<","l1_ratio","<","1","``",",","the","penalty","is","a","combination","of","L1","and","L2",".","fit_intercept",":","bool","Whether","the","intercept","should","be","estimated","or","not",".","If","``","False","``",",","the","data","is","assumed","to","be","already","centered",".","normalize",":","boolean",",","optional",",","default","False","If","``","True","``",",","the","regressors","X","will","be","normalized","before","regression",".","This","parameter","is","ignored","when","``","fit_intercept","``","is","set","to","``","False","``",".","When","the","regressors","are","normalized",",","note","that","this","makes","the","hyperparameters","learnt","more","robust","and","almost","independent","of","the","number","of","samples",".","The","same","property","is","not","valid","for","standardized","data",".","However",",","if","you","wish","to","standardize",",","please","use",":","class",":","`","preprocessing.StandardScaler","`","before","calling","``","fit","``","on","an","estimator","with","``","normalize=False","``",".","precompute",":","True","|","False","|","array-like","Whether","to","use","a","precomputed","Gram","matrix","to","speed","up","calculations",".","The","Gram","matrix","can","also","be","passed","as","argument",".","For","sparse","input","this","option","is","always","``","True","``","to","preserve","sparsity",".","max_iter",":","int",",","optional","The","maximum","number","of","iterations","copy_X",":","boolean",",","optional",",","default","True","If","``","True","``",",","X","will","be","copied",";","else",",","it","may","be","overwritten",".","tol",":","float",",","optional","The","tolerance","for","the","optimization",":","if","the","updates","are","smaller","than","``","tol","``",",","the","optimization","code","checks","the","dual","gap","for","optimality","and","continues","until","it","is","smaller","than","``","tol","``",".","warm_start",":","bool",",","optional","When","set","to","``","True","``",",","reuse","the","solution","of","the","previous","call","to","fit","as","initialization",",","otherwise",",","just","erase","the","previous","solution",".","positive",":","bool",",","optional","When","set","to","``","True","``",",","forces","the","coefficients","to","be","positive",".","selection",":","str",",","default","'cyclic'","If","set","to","'random","'",",","a","random","coefficient","is","updated","every","iteration","rather","than","looping","over","features","sequentially","by","default",".","This","(","setting","to","'random","'",")","often","leads","to","significantly","faster","convergence","especially","when","tol","is","higher","than","1e-4",".","random_state",":","int",",","RandomState","instance",",","or","None","(","default",")","The","seed","of","the","pseudo","random","number","generator","that","selects","a","random","feature","to","update",".","Useful","only","when","selection","is","set","to","'random","'",".","Attributes","--","--","--","--","--","coef_",":","array",",","shape","(","n_features",",",")","|","(","n_targets",",","n_features",")","parameter","vector","(","w","in","the","cost","function","formula",")","sparse_coef_",":","scipy.sparse","matrix",",","shape","(","n_features",",","1",")","|","(","n_targets",",","n_features",")","``","sparse_coef_","``","is","a","readonly","property","derived","from","``","coef_","``","intercept_",":","float","|","array",",","shape","(","n_targets",",",")","independent","term","in","decision","function",".","n_iter_",":","array-like",",","shape","(","n_targets",",",")","number","of","iterations","run","by","the","coordinate","descent","solver","to","reach","the","specified","tolerance",".","Notes","--","--","-","To","avoid","unnecessary","memory","duplication","the","X","argument","of","the","fit","method","should","be","directly","passed","as","a","Fortran-contiguous","numpy","array",".","See","also","--","--","--","--","SGDRegressor",":","implements","elastic","net","regression","with","incremental","training",".","SGDClassifier",":","implements","logistic","regression","with","elastic","net","penalty","(","``","SGDClassifier","(","loss=","''","log","''",",","penalty=","''","elasticnet","''",")","``",")","."]
docstr: Decision function of the linear model
  
  Parameters
  ----------
  X : numpy array or scipy.sparse matrix of shape (n_samples, n_features)
  
  Returns
  -------
  T : array, shape (n_samples,)
      The predicted decision function
code: def decision_function(self, X):
      """Decision function of the linear model
  
      Parameters
      ----------
      X : numpy array or scipy.sparse matrix of shape (n_samples, n_features)
  
      Returns
      -------
      T : array, shape (n_samples,)
          The predicted decision function
      """
      return self._decision_function(X)
  
imports: import sys
  import warnings
  from abc import ABCMeta, abstractmethod
  import numpy
  from scipy import sparse
  from .base import LinearModel, _pre_fit
  from ..base import RegressorMixin
  from .base import _preprocess_data
  from ..utils import check_array, check_X_y, deprecated
  from ..utils.validation import check_random_state
  from ..model_selection import check_cv
  from ..externals.joblib import Parallel, delayed
  from ..externals import six
  from ..externals.six.moves import xrange
  from ..utils.extmath import safe_sparse_dot
  from ..utils.validation import check_is_fitted
  from ..utils.validation import column_or_1d
  from ..exceptions import ConvergenceWarning
  from .None import cd_fast
label_desc: Use image node_id 4 for calling the ElasticNet obj's underlying member method code with example usage: obj.decision_function(X) and returns: self