sklearn.decomposition
.SparseCoder¶
- class sklearn.decomposition.SparseCoder¶
Codificación dispersa
Encuentra una representación dispersa de los datos contra un diccionario fijo y precalculado.
Cada fila del resultado es la solución a un problema de codificación dispersa. El objetivo es encontrar un arreglo disperso
code
tal que:X ~= code * dictionary
Más información en el Manual de usuario.
- Parámetros
- dictionaryndarray de forma (n_components, n_features)
Los átomos del diccionario utilizados para la codificación dispersa. Se supone que las líneas están normalizadas a la norma unitaria.
- transform_algorithm{“lasso_lars”, “lasso_cd”, “lars”, “omp”, “threshold”}, default=”omp”
Algoritmo utilizado para transformar los datos:
'lars'
: utiliza el método de regresión de ángulo mínimo (linear_model.lars_path
);'lasso_lars'
: utiliza Lars para calcular la solución Lasso;'lasso_cd'
: utiliza el método de descenso de coordenadas para calcular la solución Lasso (linear_model.Lasso).'lasso_lars'
será más rápido si los componentes estimados son dispersos;'omp'
: utiliza la búsqueda de correspondencias ortogonales para estimar la solución dispersa;'threshold'
: reduce a cero todos los coeficientes menores que alfa de la proyeccióndictionary * X'
.
- transform_n_nonzero_coefsint, default=None
Número de coeficientes distintos de cero para el objetivo en cada columna de la solución. Sólo se utiliza con
algorithm='lars'
yalgorithm='omp'
y se anula conalpha
en el casoomp
. Si esNone
, entoncestransform_n_nonzero_coefs=int(n_features / 10)
.- transform_alphafloat, default=None
Si
algorithm='lasso_lars' o `algorithm='lasso_cd'
,alpha
es la penalización aplicada a la norma L1. Sialgorithm='threshold'
,alpha
es el valor absoluto del umbral por debajo del cual los coeficientes serán reducidos a cero. Sialgorithm='omp'
,alpha
es el parámetro de tolerancia: el valor del error de reconstrucción al que se apunta. En este caso, anulan_nonzero_coefs
. Si esNone
, por defecto es 1.- split_signbool, default=False
Si se desea dividir el vector de características disperso en la concatenación de su parte negativa y su parte positiva. Esto puede mejorar el rendimiento de los clasificadores posteriores.
- 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 el Glosario para más detalles.- positive_codebool, default=False
Indica si se debe imponer la positividad al encontrar el código.
Nuevo en la versión 0.20.
- transform_max_iterint, default=1000
Número máximo de iteraciones a realizar si
algorithm='lasso_cd'
olasso_lars
.Nuevo en la versión 0.22.
- Atributos
- components_ndarray de forma (n_components, n_features)
Los átomos del diccionario sin cambios.
Obsoleto desde la versión 0.24: Este atributo está obsoleto en 0.24 y se eliminará en 1.1 (cambio de nombre de 0.26). Utiliza
dictionary
en su lugar.
Ver también
Ejemplos
>>> import numpy as np >>> from sklearn.decomposition import SparseCoder >>> X = np.array([[-1, -1, -1], [0, 0, 3]]) >>> dictionary = np.array( ... [[0, 1, 0], ... [-1, -1, 2], ... [1, 1, 1], ... [0, 1, 1], ... [0, 2, 1]], ... dtype=np.float64 ... ) >>> coder = SparseCoder( ... dictionary=dictionary, transform_algorithm='lasso_lars', ... transform_alpha=1e-10, ... ) >>> coder.transform(X) array([[ 0., 0., -1., 0., 0.], [ 0., 1., 1., 0., 0.]])
Métodos
No hace nada y devuelve el estimador sin cambios.
Ajusta a los datos y luego los transforma.
Obtiene los parámetros para este estimador.
Establece los parámetros de este estimador.
Codifica los datos como una combinación dispersa de los átomos del diccionario.
- fit()¶
No hace nada y devuelve el estimador sin cambios.
Este método sólo está ahí para implementar la API habitual y, por lo tanto, para trabajar en pipelines.
- Parámetros
- XIgnorado
- yIgnorado
- Devuelve
- selfobject
- fit_transform()¶
Ajusta a los datos y luego los transforma.
Ajusta el transformador a
X
ey
con los parámetros opcionalesfit_params
y devuelve una versión transformada deX
.- Parámetros
- Xarray-like de forma (n_samples, n_features)
Muestras de entrada.
- yarray-like de forma (n_samples,) o (n_samples, n_outputs), default=None
Valores objetivo (None para transformaciones no supervisadas).
- **fit_paramsdict
Parámetros de ajuste adicionales.
- Devuelve
- X_newarreglo ndarray de forma (n_samples, n_features_new)
Arreglo transformado.
- get_params()¶
Obtiene los parámetros para este estimador.
- Parámetros
- deepbool, default=True
Si es True, devolverá los parámetros para este estimador y los subobjetos contenidos que son estimadores.
- Devuelve
- paramsdict
Nombres de parámetros mapeados a sus valores.
- set_params()¶
Establece los parámetros de este estimador.
El método funciona tanto en estimadores simples como en objetos anidados (como
Pipeline
). Estos últimos tienen parámetros de la forma<component>__<parameter>
para que sea posible actualizar cada componente de un objeto anidado.- Parámetros
- **paramsdict
Parámetros del estimador.
- Devuelve
- selfinstancia del estimador
Instancia del estimador.
- transform()¶
Codifica los datos como una combinación dispersa de los átomos del diccionario.
El método de codificación está determinado por el parámetro del objeto
transform_algorithm
.- Parámetros
- Xndarray de forma [n_samples, n_features)
Los datos de prueba que se van a transformar, deben tener el mismo número de características que los datos utilizados para entrenar el modelo.
- Devuelve
- X_newndarray de forma (n_samples, n_components)
Datos transformados.