class_docstr: Mini-batch Sparse Principal Components Analysis.
  
  Finds the set of sparse components that can optimally reconstruct
  the data.  The amount of sparseness is controllable by the coefficient
  of the L1 penalty, given by the parameter alpha.
  
  Read more in the :ref:`User Guide <SparsePCA>`.
  
  Parameters
  ----------
  n_components : int, default=None
      Number of sparse atoms to extract. If None, then ``n_components``
      is set to ``n_features``.
  
  alpha : int, default=1
      Sparsity controlling parameter. Higher values lead to sparser
      components.
  
  ridge_alpha : float, default=0.01
      Amount of ridge shrinkage to apply in order to improve
      conditioning when calling the transform method.
  
  n_iter : int, default=100
      Number of iterations to perform for each mini batch.
  
      .. deprecated:: 1.2
         `n_iter` is deprecated in 1.2 and will be removed in 1.4. Use
         `max_iter` instead.
  
  max_iter : int, default=None
      Maximum number of iterations over the complete dataset before
      stopping independently of any early stopping criterion heuristics.
      If `max_iter` is not `None`, `n_iter` is ignored.
  
      .. versionadded:: 1.2
  
  callback : callable, default=None
      Callable that gets invoked every five iterations.
  
  batch_size : int, default=3
      The number of features to take in each mini batch.
  
  verbose : int or bool, default=False
      Controls the verbosity; the higher, the more messages. Defaults to 0.
  
  shuffle : bool, default=True
      Whether to shuffle the data before splitting it in batches.
  
  n_jobs : int, default=None
      Number of parallel jobs to run.
      ``None`` means 1 unless in a :obj:`joblib.parallel_backend` context.
      ``-1`` means using all processors. See :term:`Glossary <n_jobs>`
      for more details.
  
  method : {'lars', 'cd'}, default='lars'
      Method to be used for optimization.
      lars: uses the least angle regression method to solve the lasso problem
      (linear_model.lars_path)
      cd: uses the coordinate descent method to compute the
      Lasso solution (linear_model.Lasso). Lars will be faster if
      the estimated components are sparse.
  
  random_state : int, RandomState instance or None, default=None
      Used for random shuffling when ``shuffle`` is set to ``True``,
      during online dictionary learning. Pass an int for reproducible results
      across multiple function calls.
      See :term:`Glossary <random_state>`.
  
  tol : float, default=1e-3
      Control early stopping based on the norm of the differences in the
      dictionary between 2 steps. Used only if `max_iter` is not None.
  
      To disable early stopping based on changes in the dictionary, set
      `tol` to 0.0.
  
      .. versionadded:: 1.1
  
  max_no_improvement : int or None, default=10
      Control early stopping based on the consecutive number of mini batches
      that does not yield an improvement on the smoothed cost function. Used only if
      `max_iter` is not None.
  
      To disable convergence detection based on cost function, set
      `max_no_improvement` to `None`.
  
      .. versionadded:: 1.1
  
  Attributes
  ----------
  components_ : ndarray of shape (n_components, n_features)
      Sparse components extracted from the data.
  
  n_components_ : int
      Estimated number of components.
  
      .. versionadded:: 0.23
  
  n_iter_ : int
      Number of iterations run.
  
  mean_ : ndarray of shape (n_features,)
      Per-feature empirical mean, estimated from the training set.
      Equal to ``X.mean(axis=0)``.
  
  n_features_in_ : int
      Number of features seen during :term:`fit`.
  
      .. versionadded:: 0.24
  
  feature_names_in_ : ndarray of shape (`n_features_in_`,)
      Names of features seen during :term:`fit`. Defined only when `X`
      has feature names that are all strings.
  
      .. versionadded:: 1.0
  
  See Also
  --------
  DictionaryLearning : Find a dictionary that sparsely encodes data.
  IncrementalPCA : Incremental principal components analysis.
  PCA : Principal component analysis.
  SparsePCA : Sparse Principal Components Analysis.
  TruncatedSVD : Dimensionality reduction using truncated SVD.
  
  Examples
  --------
  >>> import numpy as np
  >>> from sklearn.datasets import make_friedman1
  >>> from sklearn.decomposition import MiniBatchSparsePCA
  >>> X, _ = make_friedman1(n_samples=200, n_features=30, random_state=0)
  >>> transformer = MiniBatchSparsePCA(n_components=5, batch_size=50,
  ...                                  max_iter=10, random_state=0)
  >>> transformer.fit(X)
  MiniBatchSparsePCA(...)
  >>> X_transformed = transformer.transform(X)
  >>> X_transformed.shape
  (200, 5)
  >>> # most values in the components_ are zero (sparsity)
  >>> np.mean(transformer.components_ == 0)
  0.9...
class_docstr_tok: ["Mini-batch","Sparse","Principal","Components","Analysis",".","Finds","the","set","of","sparse","components","that","can","optimally","reconstruct","the","data",".","The","amount","of","sparseness","is","controllable","by","the","coefficient","of","the","L1","penalty",",","given","by","the","parameter","alpha",".","Read","more","in","the",":","ref",":","`","User","Guide","<","SparsePCA",">","`",".","Parameters","--","--","--","--","--","n_components",":","int",",","default=None","Number","of","sparse","atoms","to","extract",".","If","None",",","then","``","n_components","``","is","set","to","``","n_features","``",".","alpha",":","int",",","default=1","Sparsity","controlling","parameter",".","Higher","values","lead","to","sparser","components",".","ridge_alpha",":","float",",","default=0.01","Amount","of","ridge","shrinkage","to","apply","in","order","to","improve","conditioning","when","calling","the","transform","method",".","n_iter",":","int",",","default=100","Number","of","iterations","to","perform","for","each","mini","batch",".","..","deprecated",":",":","1.2","`","n_iter","`","is","deprecated","in","1.2","and","will","be","removed","in","1.4",".","Use","`","max_iter","`","instead",".","max_iter",":","int",",","default=None","Maximum","number","of","iterations","over","the","complete","dataset","before","stopping","independently","of","any","early","stopping","criterion","heuristics",".","If","`","max_iter","`","is","not","`","None","`",",","`","n_iter","`","is","ignored",".","..","versionadded",":",":","1.2","callback",":","callable",",","default=None","Callable","that","gets","invoked","every","five","iterations",".","batch_size",":","int",",","default=3","The","number","of","features","to","take","in","each","mini","batch",".","verbose",":","int","or","bool",",","default=False","Controls","the","verbosity",";","the","higher",",","the","more","messages",".","Defaults","to","0.","shuffle",":","bool",",","default=True","Whether","to","shuffle","the","data","before","splitting","it","in","batches",".","n_jobs",":","int",",","default=None","Number","of","parallel","jobs","to","run",".","``","None","``","means","1","unless","in","a",":","obj",":","`","joblib.parallel_backend","`","context",".","``","-1","``","means","using","all","processors",".","See",":","term",":","`","Glossary","<","n_jobs",">","`","for","more","details",".","method",":","{","'lars","'",",","'cd","'","}",",","default='lars'","Method","to","be","used","for","optimization",".","lars",":","uses","the","least","angle","regression","method","to","solve","the","lasso","problem","(","linear_model.lars_path",")","cd",":","uses","the","coordinate","descent","method","to","compute","the","Lasso","solution","(","linear_model.Lasso",")",".","Lars","will","be","faster","if","the","estimated","components","are","sparse",".","random_state",":","int",",","RandomState","instance","or","None",",","default=None","Used","for","random","shuffling","when","``","shuffle","``","is","set","to","``","True","``",",","during","online","dictionary","learning",".","Pass","an","int","for","reproducible","results","across","multiple","function","calls",".","See",":","term",":","`","Glossary","<","random_state",">","`",".","tol",":","float",",","default=1e-3","Control","early","stopping","based","on","the","norm","of","the","differences","in","the","dictionary","between","2","steps",".","Used","only","if","`","max_iter","`","is","not","None",".","To","disable","early","stopping","based","on","changes","in","the","dictionary",",","set","`","tol","`","to","0.0",".","..","versionadded",":",":","1.1","max_no_improvement",":","int","or","None",",","default=10","Control","early","stopping","based","on","the","consecutive","number","of","mini","batches","that","does","not","yield","an","improvement","on","the","smoothed","cost","function",".","Used","only","if","`","max_iter","`","is","not","None",".","To","disable","convergence","detection","based","on","cost","function",",","set","`","max_no_improvement","`","to","`","None","`",".","..","versionadded",":",":","1.1","Attributes","--","--","--","--","--","components_",":","ndarray","of","shape","(","n_components",",","n_features",")","Sparse","components","extracted","from","the","data",".","n_components_",":","int","Estimated","number","of","components",".","..","versionadded",":",":","0.23","n_iter_",":","int","Number","of","iterations","run",".","mean_",":","ndarray","of","shape","(","n_features",",",")","Per-feature","empirical","mean",",","estimated","from","the","training","set",".","Equal","to","``","X.mean","(","axis=0",")","``",".","n_features_in_",":","int","Number","of","features","seen","during",":","term",":","`","fit","`",".","..","versionadded",":",":","0.24","feature_names_in_",":","ndarray","of","shape","(","`","n_features_in_","`",",",")","Names","of","features","seen","during",":","term",":","`","fit","`",".","Defined","only","when","`","X","`","has","feature","names","that","are","all","strings",".","..","versionadded",":",":","1.0","See","Also","--","--","--","--","DictionaryLearning",":","Find","a","dictionary","that","sparsely","encodes","data",".","IncrementalPCA",":","Incremental","principal","components","analysis",".","PCA",":","Principal","component","analysis",".","SparsePCA",":","Sparse","Principal","Components","Analysis",".","TruncatedSVD",":","Dimensionality","reduction","using","truncated","SVD",".","Examples","--","--","--","--",">",">",">","import","numpy","as","np",">",">",">","from","sklearn.datasets","import","make_friedman1",">",">",">","from","sklearn.decomposition","import","MiniBatchSparsePCA",">",">",">","X",",","_","=","make_friedman1","(","n_samples=200",",","n_features=30",",","random_state=0",")",">",">",">","transformer","=","MiniBatchSparsePCA","(","n_components=5",",","batch_size=50",",","...","max_iter=10",",","random_state=0",")",">",">",">","transformer.fit","(","X",")","MiniBatchSparsePCA","(","...",")",">",">",">","X_transformed","=","transformer.transform","(","X",")",">",">",">","X_transformed.shape","(","200",",","5",")",">",">",">","#","most","values","in","the","components_","are","zero","(","sparsity",")",">",">",">","np.mean","(","transformer.components_","==","0",")","0.9","..."]
code: def __init__(
      self,
      n_components=None,
      *,
      alpha=1,
      ridge_alpha=0.01,
      n_iter="deprecated",
      max_iter=None,
      callback=None,
      batch_size=3,
      verbose=False,
      shuffle=True,
      n_jobs=None,
      method="lars",
      random_state=None,
      tol=1e-3,
      max_no_improvement=10,
  ):
      super().__init__(
          n_components=n_components,
          alpha=alpha,
          ridge_alpha=ridge_alpha,
          max_iter=max_iter,
          tol=tol,
          method=method,
          n_jobs=n_jobs,
          verbose=verbose,
          random_state=random_state,
      )
      self.n_iter = n_iter
      self.callback = callback
      self.batch_size = batch_size
      self.shuffle = shuffle
      self.max_no_improvement = max_no_improvement
  
imports: from numbers import Integral, Real
  import numpy
  from ..base import BaseEstimator, ClassNamePrefixFeaturesOutMixin, TransformerMixin, _fit_context
  from ..linear_model import ridge_regression
  from ..utils import check_random_state
  from ..utils._param_validation import Hidden, Interval, StrOptions
  from ..utils.extmath import svd_flip
  from ..utils.validation import check_array, check_is_fitted
  from ._dict_learning import MiniBatchDictionaryLearning, dict_learning
label_desc: Use image node_id 1 to create a new MiniBatchSparsePCA object from inherited base classes: _BaseSparsePCA with example: obj = MiniBatchSparsePCA(n_components)