sklearn.decomposition.dict_learning
-
sklearn.decomposition.dict_learning(X, n_components, *, alpha, max_iter=100, tol=1e-08, method='lars', n_jobs=None, dict_init=None, code_init=None, callback=None, verbose=False, random_state=None, return_n_iter=False, positive_dict=False, positive_code=False, method_max_iter=1000)[source] -
Solves a dictionary learning matrix factorization problem.
Finds the best dictionary and the corresponding sparse code for approximating the data matrix X by solving:
(U^*, V^*) = argmin 0.5 || X - U V ||_2^2 + alpha * || U ||_1 (U,V) with || V_k ||_2 = 1 for all 0 <= k < n_componentswhere V is the dictionary and U is the sparse code.
Read more in the User Guide.
- Parameters
-
-
Xndarray of shape (n_samples, n_features) -
Data matrix.
-
n_componentsint -
Number of dictionary atoms to extract.
-
alphaint -
Sparsity controlling parameter.
-
max_iterint, default=100 -
Maximum number of iterations to perform.
-
tolfloat, default=1e-8 -
Tolerance for the stopping condition.
-
method{‘lars’, ‘cd’}, default=’lars’ -
The method used:
-
-
'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.
-
-
n_jobsint, default=None -
Number of parallel jobs to run.
Nonemeans 1 unless in ajoblib.parallel_backendcontext.-1means using all processors. See Glossary for more details. -
dict_initndarray of shape (n_components, n_features), default=None -
Initial value for the dictionary for warm restart scenarios.
-
code_initndarray of shape (n_samples, n_components), default=None -
Initial value for the sparse code for warm restart scenarios.
-
callbackcallable, default=None -
Callable that gets invoked every five iterations
-
verbosebool, default=False -
To control the verbosity of the procedure.
-
random_stateint, RandomState instance or None, default=None -
Used for randomly initializing the dictionary. Pass an int for reproducible results across multiple function calls. See Glossary.
-
return_n_iterbool, default=False -
Whether or not to return the number of iterations.
-
positive_dictbool, default=False -
Whether to enforce positivity when finding the dictionary.
New in version 0.20.
-
positive_codebool, default=False -
Whether to enforce positivity when finding the code.
New in version 0.20.
-
method_max_iterint, default=1000 -
Maximum number of iterations to perform.
New in version 0.22.
-
- Returns
-
-
codendarray of shape (n_samples, n_components) -
The sparse code factor in the matrix factorization.
-
dictionaryndarray of shape (n_components, n_features), -
The dictionary factor in the matrix factorization.
-
errorsarray -
Vector of errors at each iteration.
-
n_iterint -
Number of iterations run. Returned only if
return_n_iteris set to True.
-
© 2007–2020 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/0.24/modules/generated/sklearn.decomposition.dict_learning.html