sklearn.decomposition.fastica

sklearn.decomposition.fastica()

Realiza un Análisis Rápido de Componentes Independientes.

Lee más en el Manual de usuario.

Parámetros
Xarray-like de forma (n_samples, n_features)

Vector de entrenamiento, donde n_samples es el número de muestras y n_features es el número de características.

n_componentsint, default=None

Número de componentes a extraer. Si es None no se realiza ninguna reducción de dimensión.

algorithm{“parallel”, “deflation”}, default=”parallel”

Aplicar un algoritmo FASTICA paralelo o deflacionario.

whitenbool, default=True

Si es True realiza un whitening inicial de los datos. Si es False, se supone que los datos ya han sido preprocesados: deben estar centrados, normalizados y limpios. En caso contrario, se obtendrán resultados incorrectos. En este caso se ignorará el parámetro n_components.

fun{“logcosh”, “exp”, “cube”} o callable, default=”logcosh”

La forma funcional de la función G utilizada en la aproximación a la negentropía. Puede ser “logcosh”, “exp”, o “cube”. También puedes proporcionar tu propia función. Debe devolver una tupla que contenga el valor de la función, y de su derivada, en el punto. La derivada debe ser promediada a lo largo de su última dimensión. Ejemplo:

def my_g(x):

return x ** 3, np.mean(3 * x ** 2, axis=-1)

fun_argsdiccionario, default=None

Argumentos para enviar a la forma funcional. Si está vacío o es None y si fun=”logcosh”, fun_args tomará el valor {“alpha” : 1.0}

max_iterint, default=200

Número máximo de iteraciones a realizar.

tolfloat, default=1e-04

Un escalar positivo que da la tolerancia a la que se considera que la matriz sin mezclar ha convergido.

w_initndarray de forma (n_components, n_components), default=None

Arreglo inicial sin mezclar, de dimensión (n.comp, n.comp). Si es None (predeterminado) se utiliza un arreglo de r.v. normales.

random_stateentero, instancia de RandomState o None, default=None

Se utiliza para inicializar w_init cuando no se especifica, con una distribución normal. Pasa un número entero (int), para resultados reproducibles a través de múltiples llamadas a la función. Ver Glosario.

return_X_meanbool, default=False

Si es True, X_mean es devuelto también.

compute_sourcesbool, default=True

Si es False, no se calculan las fuentes, sino sólo la matriz de rotación. Esto puede ahorrar memoria cuando se trabaja con big data. Por defecto es True.

return_n_iterbool, default=False

Si se devuelve o no el número de iteraciones.

Devuelve
Kndarray de forma (n_components, n_features) o None

Si whiten es “True”, K es la matriz de pre-whitening que proyecta los datos sobre los primeros n_components componentes principales. Si whiten es “False”, K es “None”.

Wndarray de forma (n_components, n_components)

La matriz cuadrada que desmezcla los datos después del whitening. La matriz de mezcla es el pseudoinverso de la matriz W K si K no es None, de lo contrario es el inverso de W.

Sndarray de forma (n_samples, n_components) o None

Matriz de fuentes estimada

X_meanndarray de forma (n_features,)

La media sobre las características. Se devuelve sólo si return_X_mean es True.

n_iterint

Si el algoritmo es de «deflación», n_iter es el número máximo de iteraciones realizadas en todos los componentes. En caso contrario, son sólo el número de iteraciones que se tarda en converger. Esto se devuelve sólo cuando return_n_iter se establece en True.

Notas

La matriz de datos X se considera una combinación lineal de componentes no Gaussianos (independientes), es decir, X = AS, donde las columnas de S contienen los componentes independientes y A es una matriz de mezcla lineal. En resumen, ICA intenta «desmezclar» los datos mediante la estimación de una matriz de desmezcla W, donde «S = W K X». Aunque FastICA se propuso para estimar tantas fuentes como características, es posible estimar menos estableciendo n_components < n_features. En este caso, K no es una matriz cuadrada y la estimación de A es el pseudoinverso de W K.

Esta implementación se hizo originalmente para datos de forma [n_features, n_samples]. Ahora la entrada se transpone antes de aplicar el algoritmo. Esto lo hace ligeramente más rápido para la entrada ordenada en Fortran.

Implementado usando FastICA: A. Hyvarinen y E. Oja, Independent Component Analysis: Algorithms and Applications, Neural Networks, 13(4-5), 2000, pp. 411-430