Set to True, both W and H will be estimated from initial guesses.
    Set to False, only W will be estimated.

verbose : int, default=0
    The verbosity level.

shuffle : bool, default=False
    If true, randomize the order of coordinates in the CD solver.

random_state : int, RandomState instance or None, default=None
    Used to randomize the coordinates in the CD solver, when
    ``shuffle`` is set to ``True``. Pass an int for reproducible
    results across multiple function calls.
    See :term:`Glossary <random_state>`.

Returns
-------
W : ndarray of shape (n_samples, n_components)
    Solution to the non-negative least squares problem.

H : ndarray of shape (n_components, n_features)
    Solution to the non-negative least squares problem.

n_iter : int
    The number of iterations done by the algorithm.

References
----------
.. [1] :doi:`"Fast local algorithms for large scale nonnegative matrix and tensor
   factorizations" <10.1587/transfun.E92.A.708>`
   Cichocki, Andrzej, and P. H. A. N. Anh-Huy. IEICE transactions on fundamentals
   of electronics, communications and computer sciences 92.3: 708-721, 2009.
