class_docstr: Mini-batch dictionary learning
  
  Finds a dictionary (a set of atoms) that can best be used to represent data
  using a sparse code.
  
  Solves the optimization problem::
  
     (U^*,V^*) = argmin 0.5 || Y - U V ||_2^2 + alpha * || U ||_1
                  (U,V)
                  with || V_k ||_2 = 1 for all  0 <= k < n_components
  
  Read more in the :ref:`User Guide <DictionaryLearning>`.
  
  Parameters
  ----------
  n_components : int,
      number of dictionary elements to extract
  
  alpha : float,
      sparsity controlling parameter
  
  n_iter : int,
      total number of iterations to perform
  
  fit_algorithm : {'lars', 'cd'}
      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.
  
  transform_algorithm : {'lasso_lars', 'lasso_cd', 'lars', 'omp',     'threshold'}
      Algorithm used to transform the data.
      lars: uses the least angle regression method (linear_model.lars_path)
      lasso_lars: uses Lars to compute the Lasso solution
      lasso_cd: uses the coordinate descent method to compute the
      Lasso solution (linear_model.Lasso). lasso_lars will be faster if
      the estimated components are sparse.
      omp: uses orthogonal matching pursuit to estimate the sparse solution
      threshold: squashes to zero all coefficients less than alpha from
      the projection dictionary * X'
  
  transform_n_nonzero_coefs : int, ``0.1 * n_features`` by default
      Number of nonzero coefficients to target in each column of the
      solution. This is only used by `algorithm='lars'` and `algorithm='omp'`
      and is overridden by `alpha` in the `omp` case.
  
  transform_alpha : float, 1. by default
      If `algorithm='lasso_lars'` or `algorithm='lasso_cd'`, `alpha` is the
      penalty applied to the L1 norm.
      If `algorithm='threshold'`, `alpha` is the absolute value of the
      threshold below which coefficients will be squashed to zero.
      If `algorithm='omp'`, `alpha` is the tolerance parameter: the value of
      the reconstruction error targeted. In this case, it overrides
      `n_nonzero_coefs`.
  
  split_sign : bool, False by default
      Whether to split the sparse feature vector into the concatenation of
      its negative part and its positive part. This can improve the
      performance of downstream classifiers.
  
  n_jobs : int,
      number of parallel jobs to run
  
  dict_init : array of shape (n_components, n_features),
      initial value of the dictionary for warm restart scenarios
  
  verbose :
      degree of verbosity of the printed output
  
  batch_size : int,
      number of samples in each mini-batch
  
  shuffle : bool,
      whether to shuffle the samples before forming batches
  
  random_state : int or RandomState
      Pseudo number generator state used for random sampling.
  
  Attributes
  ----------
  components_ : array, [n_components, n_features]
      components extracted from the data
  
  inner_stats_ : tuple of (A, B) ndarrays
      Internal sufficient statistics that are kept by the algorithm.
      Keeping them is useful in online settings, to avoid loosing the
      history of the evolution, but they shouldn't have any use for the
      end user.
      A (n_components, n_components) is the dictionary covariance matrix.
      B (n_features, n_components) is the data approximation matrix
  
  n_iter_ : int
      Number of iterations run.
  
  Notes
  -----
  **References:**
  
  J. Mairal, F. Bach, J. Ponce, G. Sapiro, 2009: Online dictionary learning
  for sparse coding (http://www.di.ens.fr/sierra/pdfs/icml09.pdf)
  
  See also
  --------
  SparseCoder
  DictionaryLearning
  SparsePCA
  MiniBatchSparsePCA
class_docstr_tok: ["Mini-batch","dictionary","learning","Finds","a","dictionary","(","a","set","of","atoms",")","that","can","best","be","used","to","represent","data","using","a","sparse","code",".","Solves","the","optimization","problem",":",":","(","U^","*",",","V^","*",")","=","argmin","0.5","||","Y","-","U","V","||_2^2","+","alpha","*","||","U","||_1","(","U",",","V",")","with","||","V_k","||_2","=","1","for","all","0","<","=","k","<","n_components","Read","more","in","the",":","ref",":","`","User","Guide","<","DictionaryLearning",">","`",".","Parameters","--","--","--","--","--","n_components",":","int",",","number","of","dictionary","elements","to","extract","alpha",":","float",",","sparsity","controlling","parameter","n_iter",":","int",",","total","number","of","iterations","to","perform","fit_algorithm",":","{","'lars","'",",","'cd","'","}","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",".","transform_algorithm",":","{","'lasso_lars","'",",","'lasso_cd","'",",","'lars","'",",","'omp","'",",","'threshold","'","}","Algorithm","used","to","transform","the","data",".","lars",":","uses","the","least","angle","regression","method","(","linear_model.lars_path",")","lasso_lars",":","uses","Lars","to","compute","the","Lasso","solution","lasso_cd",":","uses","the","coordinate","descent","method","to","compute","the","Lasso","solution","(","linear_model.Lasso",")",".","lasso_lars","will","be","faster","if","the","estimated","components","are","sparse",".","omp",":","uses","orthogonal","matching","pursuit","to","estimate","the","sparse","solution","threshold",":","squashes","to","zero","all","coefficients","less","than","alpha","from","the","projection","dictionary","*","X'","transform_n_nonzero_coefs",":","int",",","``","0.1","*","n_features","``","by","default","Number","of","nonzero","coefficients","to","target","in","each","column","of","the","solution",".","This","is","only","used","by","`","algorithm='lars","'","`","and","`","algorithm='omp","'","`","and","is","overridden","by","`","alpha","`","in","the","`","omp","`","case",".","transform_alpha",":","float",",","1.","by","default","If","`","algorithm='lasso_lars","'","`","or","`","algorithm='lasso_cd","'","`",",","`","alpha","`","is","the","penalty","applied","to","the","L1","norm",".","If","`","algorithm='threshold","'","`",",","`","alpha","`","is","the","absolute","value","of","the","threshold","below","which","coefficients","will","be","squashed","to","zero",".","If","`","algorithm='omp","'","`",",","`","alpha","`","is","the","tolerance","parameter",":","the","value","of","the","reconstruction","error","targeted",".","In","this","case",",","it","overrides","`","n_nonzero_coefs","`",".","split_sign",":","bool",",","False","by","default","Whether","to","split","the","sparse","feature","vector","into","the","concatenation","of","its","negative","part","and","its","positive","part",".","This","can","improve","the","performance","of","downstream","classifiers",".","n_jobs",":","int",",","number","of","parallel","jobs","to","run","dict_init",":","array","of","shape","(","n_components",",","n_features",")",",","initial","value","of","the","dictionary","for","warm","restart","scenarios","verbose",":","degree","of","verbosity","of","the","printed","output","batch_size",":","int",",","number","of","samples","in","each","mini-batch","shuffle",":","bool",",","whether","to","shuffle","the","samples","before","forming","batches","random_state",":","int","or","RandomState","Pseudo","number","generator","state","used","for","random","sampling",".","Attributes","--","--","--","--","--","components_",":","array",",","[","n_components",",","n_features","]","components","extracted","from","the","data","inner_stats_",":","tuple","of","(","A",",","B",")","ndarrays","Internal","sufficient","statistics","that","are","kept","by","the","algorithm",".","Keeping","them","is","useful","in","online","settings",",","to","avoid","loosing","the","history","of","the","evolution",",","but","they","should","n't","have","any","use","for","the","end","user",".","A","(","n_components",",","n_components",")","is","the","dictionary","covariance","matrix",".","B","(","n_features",",","n_components",")","is","the","data","approximation","matrix","n_iter_",":","int","Number","of","iterations","run",".","Notes","--","--","-","*","*","References",":","*","*","J.","Mairal",",","F.","Bach",",","J.","Ponce",",","G.","Sapiro",",","2009",":","Online","dictionary","learning","for","sparse","coding","(","http",":","\/\/www.di.ens.fr\/sierra\/pdfs\/icml09.pdf",")","See","also","--","--","--","--","SparseCoder","DictionaryLearning","SparsePCA","MiniBatchSparsePCA"]
docstr: Updates the model using the data in X as a mini-batch.
  
  Parameters
  ----------
  X: array-like, shape (n_samples, n_features)
      Training vector, where n_samples in the number of samples
      and n_features is the number of features.
  
  iter_offset: integer, optional
      The number of iteration on data batches that has been
      performed before this call to partial_fit. This is optional:
      if no number is passed, the memory of the object is
      used.
  
  Returns
  -------
  self : object
      Returns the instance itself.
docstr_tok: ["Updates","the","model","using","the","data","in","X","as","a","mini-batch",".","Parameters","--","--","--","--","--","X",":","array-like",",","shape","(","n_samples",",","n_features",")","Training","vector",",","where","n_samples","in","the","number","of","samples","and","n_features","is","the","number","of","features",".","iter_offset",":","integer",",","optional","The","number","of","iteration","on","data","batches","that","has","been","performed","before","this","call","to","partial_fit",".","This","is","optional",":","if","no","number","is","passed",",","the","memory","of","the","object","is","used",".","Returns","--","--","--","-","self",":","object","Returns","the","instance","itself","."]
code: def partial_fit(self, X, y=None, iter_offset=None):
      """Updates the model using the data in X as a mini-batch.
  
      Parameters
      ----------
      X: array-like, shape (n_samples, n_features)
          Training vector, where n_samples in the number of samples
          and n_features is the number of features.
  
      iter_offset: integer, optional
          The number of iteration on data batches that has been
          performed before this call to partial_fit. This is optional:
          if no number is passed, the memory of the object is
          used.
  
      Returns
      -------
      self : object
          Returns the instance itself.
      """
      if not hasattr(self, "random_state_"):
          self.random_state_ = check_random_state(self.random_state)
      X = check_array(X)
      if hasattr(self, "components_"):
          dict_init = self.components_
      else:
          dict_init = self.dict_init
      inner_stats = getattr(self, "inner_stats_", None)
      if iter_offset is None:
          iter_offset = getattr(self, "iter_offset_", 0)
      U, (A, B) = dict_learning_online(
          X,
          self.n_components,
          self.alpha,
          n_iter=self.n_iter,
          method=self.fit_algorithm,
          n_jobs=self.n_jobs,
          dict_init=dict_init,
          batch_size=len(X),
          shuffle=False,
          verbose=self.verbose,
          return_code=False,
          iter_offset=iter_offset,
          random_state=self.random_state_,
          return_inner_stats=True,
          inner_stats=inner_stats,
      )
      self.components_ = U
  
      # Keep track of the state of the algorithm to be able to do
      # some online fitting (partial_fit)
      self.inner_stats_ = (A, B)
      self.iter_offset_ = iter_offset + self.n_iter
      return self
  
imports: from __future__ import print_function
  import time
  import sys
  import itertools
  from math import sqrt, ceil
  import numpy
  from scipy import linalg
  from numpy.lib.stride_tricks import as_strided
  from ..base import BaseEstimator, TransformerMixin
  from ..externals.joblib import Parallel, delayed, cpu_count
  from ..externals.six.moves import zip
  from ..utils import check_array, check_random_state, gen_even_slices, gen_batches, _get_n_jobs
  from ..utils.extmath import randomized_svd, row_norms
  from ..utils.validation import check_is_fitted
  from ..linear_model import Lasso, orthogonal_mp_gram, LassoLars, Lars
label_desc: Use image node_id 3 for calling the MiniBatchDictionaryLearning obj's underlying member method code with example usage: obj.partial_fit(X, y, iter_offset) and returns: self