class_docstr: MultiTaskLassoCV scikit-learn estimator based on Celer solver
  
  The best model is selected by cross-validation.
  
  The optimization objective for Multi-task Lasso is::
  
  (1 / (2 * n_samples)) * ||y - X W||^2_2 + alpha * ||W||_{21}
  
  Parameters
  ----------
  eps : float, optional
      Length of the path. ``eps=1e-3`` means that
      ``alpha_min / alpha_max = 1e-3``.
  
  n_alphas : int, optional
      Number of alphas along the regularization path.
  
  alphas : numpy array, optional
      List of alphas where to compute the models.
      If ``None`` alphas are set automatically
  
  fit_intercept : boolean, default True
      whether to calculate the intercept for this model. If set
      to false, no intercept will be used in calculations
      (e.g. data is expected to be already centered).
  
  max_iter : int, optional
      The maximum number of iterations (subproblem definitions).
  
  tol : float, optional
      Stopping criterion for the optimization: the solver runs until the
      duality gap is smaller than ``tol * norm(y) ** 2 / len(y)`` or the
      maximum number of iteration is reached.
  
  cv : int, cross-validation generator or an iterable, optional
      Determines the cross-validation splitting strategy.
      Possible inputs for cv are:
      - None, to use the default 3-fold cross-validation,
      - integer, to specify the number of folds.
      - An object to be used as a cross-validation generator.
      - An iterable yielding train/test splits.
      For integer/None inputs, sklearn `KFold` is used.
  
  verbose : bool or integer
      Amount of verbosity.
  
  max_epochs : int, optional (default=50000)
      Maximum number of coordinate descent epochs when solving a subproblem.
  
  p0 : int, optional (default=10)
      Number of features in the first working set.
  
  prune : bool, optional (default=True)
      Whether to use pruning when growing the working sets.
  
  precompute : ignored parameter, kept for sklearn compatibility.
  
  n_jobs : int
      to run CV in parallel.
  
  Attributes
  ----------
  alpha_ : float
      The amount of penalization chosen by cross validation
  
  coef_ : array, shape (n_features, n_outputs)
      parameter vector (w in the cost function formula)
  
  intercept_ : array, shape (n_outputs,)
      independent term in decision function.
  
  mse_path_ : array, shape (n_alphas, n_folds)
      mean square error for the test set on each fold, varying alpha
  
  alphas_ : numpy array, shape (n_alphas,)
      The grid of alphas used for fitting
  
  dual_gap_ : ndarray, shape (n_alphas,)
      The dual gap at the end of the optimization for the optimal alpha
      (``alpha_``).
  
  n_iter_ : int
      number of iterations run by the coordinate descent solver to reach
      the specified tolerance for the optimal alpha.
  
  See also
  --------
  celer_path
  MultiTaskLasso
class_docstr_tok: ["MultiTaskLassoCV","scikit-learn","estimator","based","on","Celer","solver","The","best","model","is","selected","by","cross-validation",".","The","optimization","objective","for","Multi-task","Lasso","is",":",":","(","1","\/","(","2","*","n_samples",")",")","*","||y","-","X","W||^2_2","+","alpha","*","||W||_","{","21","}","Parameters","--","--","--","--","--","eps",":","float",",","optional","Length","of","the","path",".","``","eps=1e-3","``","means","that","``","alpha_min","\/","alpha_max","=","1e-3","``",".","n_alphas",":","int",",","optional","Number","of","alphas","along","the","regularization","path",".","alphas",":","numpy","array",",","optional","List","of","alphas","where","to","compute","the","models",".","If","``","None","``","alphas","are","set","automatically","fit_intercept",":","boolean",",","default","True","whether","to","calculate","the","intercept","for","this","model",".","If","set","to","false",",","no","intercept","will","be","used","in","calculations","(","e.g",".","data","is","expected","to","be","already","centered",")",".","max_iter",":","int",",","optional","The","maximum","number","of","iterations","(","subproblem","definitions",")",".","tol",":","float",",","optional","Stopping","criterion","for","the","optimization",":","the","solver","runs","until","the","duality","gap","is","smaller","than","``","tol","*","norm","(","y",")","*","*","2","\/","len","(","y",")","``","or","the","maximum","number","of","iteration","is","reached",".","cv",":","int",",","cross-validation","generator","or","an","iterable",",","optional","Determines","the","cross-validation","splitting","strategy",".","Possible","inputs","for","cv","are",":","-","None",",","to","use","the","default","3-fold","cross-validation",",","-","integer",",","to","specify","the","number","of","folds",".","-","An","object","to","be","used","as","a","cross-validation","generator",".","-","An","iterable","yielding","train\/test","splits",".","For","integer\/None","inputs",",","sklearn","`","KFold","`","is","used",".","verbose",":","bool","or","integer","Amount","of","verbosity",".","max_epochs",":","int",",","optional","(","default=50000",")","Maximum","number","of","coordinate","descent","epochs","when","solving","a","subproblem",".","p0",":","int",",","optional","(","default=10",")","Number","of","features","in","the","first","working","set",".","prune",":","bool",",","optional","(","default=True",")","Whether","to","use","pruning","when","growing","the","working","sets",".","precompute",":","ignored","parameter",",","kept","for","sklearn","compatibility",".","n_jobs",":","int","to","run","CV","in","parallel",".","Attributes","--","--","--","--","--","alpha_",":","float","The","amount","of","penalization","chosen","by","cross","validation","coef_",":","array",",","shape","(","n_features",",","n_outputs",")","parameter","vector","(","w","in","the","cost","function","formula",")","intercept_",":","array",",","shape","(","n_outputs",",",")","independent","term","in","decision","function",".","mse_path_",":","array",",","shape","(","n_alphas",",","n_folds",")","mean","square","error","for","the","test","set","on","each","fold",",","varying","alpha","alphas_",":","numpy","array",",","shape","(","n_alphas",",",")","The","grid","of","alphas","used","for","fitting","dual_gap_",":","ndarray",",","shape","(","n_alphas",",",")","The","dual","gap","at","the","end","of","the","optimization","for","the","optimal","alpha","(","``","alpha_","``",")",".","n_iter_",":","int","number","of","iterations","run","by","the","coordinate","descent","solver","to","reach","the","specified","tolerance","for","the","optimal","alpha",".","See","also","--","--","--","--","celer_path","MultiTaskLasso"]
code: def __init__(
      self,
      eps=1e-3,
      n_alphas=100,
      alphas=None,
      fit_intercept=True,
      max_iter=100,
      tol=1e-4,
      cv=None,
      verbose=0,
      max_epochs=50000,
      p0=10,
      prune=True,
      precompute="auto",
      n_jobs=1,
  ):
      super().__init__(
          eps=eps,
          n_alphas=n_alphas,
          alphas=alphas,
          max_iter=max_iter,
          tol=tol,
          cv=cv,
          fit_intercept=fit_intercept,
          verbose=verbose,
          n_jobs=n_jobs,
      )
      self.max_epochs = max_epochs
      self.p0 = p0
      self.prune = prune
  
imports: import numbers
  import numpy
  from sklearn.base import RegressorMixin, MultiOutputMixin
  from sklearn.utils.validation import check_X_y
  from sklearn.utils.multiclass import check_classification_targets
  from sklearn.linear_model import ElasticNet, Lasso, LogisticRegression, MultiTaskLasso
  from sklearn.linear_model._coordinate_descent import LinearModelCV
  from sklearn.linear_model._base import _preprocess_data
  from sklearn.preprocessing import LabelEncoder
  from sklearn.multiclass import OneVsRestClassifier
  from .homotopy import celer_path, mtl_path
label_desc: Use image node_id 1 to create a new MultiTaskLassoCV object from inherited base classes: RegressorMixin, LinearModelCV with example: obj = MultiTaskLassoCV(eps, n_alphas, alphas, fit_intercept, max_iter, tol, cv, verbose, max_epochs, p0, prune, precompute, n_jobs)