sklearn.decomposition
.dict_learning_online¶
- sklearn.decomposition.dict_learning_online()¶
Resuelve un problema de factorización matricial de aprendizaje de diccionario en línea.
Encuentra el mejor diccionario y el correspondiente código disperso para aproximar la matriz de datos X resolviendo:
(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_components
donde V es el diccionario y U es el código disperso. Esto se consigue iterando repetidamente sobre mini lotes dividiendo los datos de entrada.
Leer más en el Manual de Usuario.
- Parámetros
- Xndarray de forma (n_samples, n_features)
Matriz de datos.
- n_componentsint, default=2
Número de átomos del diccionario a extraer.
- alphafloat, default=1
Parámetro de control de la dispersión.
- n_iterint, default=100
Número de iteraciones de mini lotes a realizar.
- return_codebool, default=True
Si se devuelve también el código U o sólo el diccionario
V
.- dict_initndarray de forma (n_components, n_features), default=None
Valor inicial del diccionario para los escenarios de reinicio en caliente.
- callbackinvocable, default=None
invocable que se invoca cada cinco iteraciones.
- batch_sizeint, default=3
El número de muestras a tomar en cada lote.
- verbosebool, default=False
Para controlar la verbosidad del procedimiento.
- shufflebool, default=True
Si se revuelven los datos antes de dividirlos en lotes.
- n_jobsint, default=None
Número de trabajos paralelos a ejecutar.
None
significa 1 a menos que esté en un contextojoblib.parallel_backend
.-1
significa utilizar todos los procesadores. Ver Glosario para más detalles.- method{“lars”, “cd”}, default=”lars”
'lars'
: utiliza el método de regresión de ángulo mínimo para resolver el problema lasso (linear_model.lars_path
);'cd'
: utiliza el método de descenso de coordenadas para calcular la solución Lasso (modelo_lineal.Lasso
). Lars será más rápido si los componentes estimados son dispersos.
- iter_offsetint, default=0
Número de iteraciones previas completadas en el diccionario utilizado para la inicialización.
- random_stateentero, instancia de RandomState o None, default=None
Se utiliza para inicializar el diccionario cuando no se especifica
dict_init
, revolver los datos aleatoriamente cuandoshuffle
se establece enTrue
, y actualizar el diccionario. Pasa un entero para que los resultados sean reproducibles a través de múltiples llamadas a la función. Ver Glosario.- return_inner_statsbool, default=False
Devuelve las estadísticas internas A (covarianza del diccionario) y B (aproximación de datos). Útil para reiniciar el algoritmo en una configuración en línea. Si
return_inner_stats
esTrue
,return_code
se ignora.- inner_statstupla de (A, B) ndarrays, default=None
Estadísticas internas suficientes que son guardadas por el algoritmo. Pasarlas en la inicialización es útil en configuraciones en línea, para evitar perder la historia de la evolución.
A
(n_components, n_components)
es la matriz de covarianza del diccionario.B
(n_features, n_components)
es la matriz de aproximación de datos.- return_n_iterbool, default=False
Si se devuelve o no el número de iteraciones.
- positive_dictbool, default=False
Si se impone la positividad al encontrar el diccionario.
Nuevo en la versión 0.20.
- positive_codebool, default=False
Si se impone la positividad al encontrar el código.
Nuevo en la versión 0.20.
- method_max_iterint, default=1000
Número máximo de iteraciones a realizar al resolver el problema lasso.
Nuevo en la versión 0.22.
- Devuelve
- codendarray de forma (n_samples, n_components),
El código disperso (sólo se devuelve si
return_code=True
).- dictionaryndarray de forma (n_components, n_features),
Las soluciones al problema de aprendizaje de diccionario.
- n_iterint
Número de iteraciones ejecutadas. Se devuelve sólo si
return_n_iter
se establece comoTrue
.