La ciencia de datos: el uso de python para realizar factores y análisis de componentes principales

científicos de datos pueden utilizar Python para realizar factores y análisis de componentes principales. SVD opera directamente sobre los valores numéricos de los datos, pero también se puede expresar de datos como una relación entre las variables. Cada característica tiene una cierta variación. Se puede calcular la variabilidad como la medida de la variación alrededor de la media. Cuanto más la varianza, más la información contenida dentro de la variable.

Además, si se coloca la variable en un conjunto, se puede comparar la varianza de dos variables para determinar si se correlacionan, que es una medida de la fuerza con que tienen valores similares.

Verificación de todas las posibles correlaciones de una variable con los otros en el conjunto, se puede descubrir que usted puede tener dos tipos de variación:

  • varianza único: Algunos varianza es aplicable sólo a la variable en estudio. No se puede asociar a lo que ocurre con cualquier otra variable.

  • varianza compartida: Algunos varianza se comparte con una o más variables, la creación de redundancia en los datos. La redundancia implica que se puede encontrar la misma información, con valores ligeramente diferentes, en diversas funciones y en muchas observaciones.

Por supuesto, el siguiente paso es determinar la razón de la varianza compartida. Tratando de responder a esta pregunta, así como la determinación de cómo hacer frente a las variaciones únicas y compartidas, condujo a la creación de factores y análisis de componentes principales.

Video: Curso Python para científicos e ingenieros

Teniendo en cuenta el modelo psicométrico

Mucho antes de que muchos algoritmos de aprendizaje automático se pensaba hasta, psicometría, la disciplina de la psicología que se ocupa de la medición psicológica, trató de encontrar una solución estadístico para medir de manera eficaz las dimensiones de la personalidad. La personalidad humana, al igual que con otros aspectos del ser humano, no es directamente medible. Por ejemplo, no es posible medir con precisión la cantidad de una persona es introvertido o inteligentes. Cuestionarios y pruebas psicológicas única alusión a estos valores.

Psicólogos sabían de la enfermedad vesicular porcina y trataron de aplicarlo al problema. varianza compartida atrajo su atención: Si algunas variables son casi los mismos, deben tener la misma causa, que pensaban. psicólogos creado análisis factorial para llevar a cabo esta tarea! En lugar de aplicar SVD directamente a los datos, la aplicaron a una matriz recién creada seguimiento de la varianza común, con la esperanza de condensar toda la información y la recuperación de nuevas características útiles llamada fadotores.

Buscando factores ocultos

Una buena manera de mostrar cómo utilizar el análisis factorial es comenzar con el conjunto de datos del iris.

de sklearn.datasets importar load_irisfrom sklearn.decomposition importación FactorAnalysisiris = load_iris () X, Y = iris.data, iris.targetfactor = FactorAnalysis (n_components = 4,, random_state = 101) .fit (X)

Después de cargar los datos y que tiene almacenado en todas las características de predicción, las Análisis factorial clase se inicia con una solicitud para buscar cuatro factores. a continuación se equipa los datos. Usted puede explorar los resultados mediante la observación de la components_ atributo, que devuelve una matriz que contiene las mediciones de la relación entre los factores de nueva creación, colocado en filas, y las características originales, colocado en columnas.

En la intersección de cada factor y característica, un número positivo indica que existe una proporción positiva entre el dos un número negativo, en cambio, señala que divergen y uno es la contraria a la otra.

Vas a tener que probar diferentes valores de n_components porque no es posible saber cuántos factores existen en los datos. Si se requiere el algoritmo para más factores de existir, se generará factores con valores bajos en el components_ formación.

pandas importación como pd.DataFrame pdprint (factor.components_, columnas = iris.feature_names) longitud sépalo (cm) sépalo anchura (cm) Longitud de pétalo (cm) anchura del pétalo (cm) 0 0,707227 -0,153147 1,653151 0,7015691 0,114676 0,159763 -0,045604 -0,0140522 -0.000000 -0.000000 0.000000 0.000000 0.000000 -0.0000003 -0.000000 -0.000000

En la prueba en el conjunto de datos del iris, por ejemplo, los factores resultantes deben ser de un máximo de 2, no 4, porque sólo dos factores tienen conexiones significativas con las características originales. Puede utilizar estos dos factores como nuevas variables en su proyecto porque reflejan una característica invisible, pero importante que los datos que antes sólo insinuados.

Utilizando componentes, no los factores

Si una enfermedad vesicular porcina podría ser aplicado con éxito a la varianza común, puede que se pregunte por qué no se puede aplicar a todas las varianzas. El uso de una matriz de partida ligeramente modificada, todas las relaciones en los datos podrían reducirse y se comprimen en una forma similar a como lo hace SVD.

Los resultados de este proceso, que son bastante similares a la enfermedad vesicular porcina, se denominan análisis de componentes principales (PCA). Las características de nueva creación se denominan componentes. En contraste con los factores, los componentes no se describen como la causa fundamental de la estructura de datos, pero sólo están reestructuradas de datos, por lo que pueden ver como una gran suma, inteligente de las variables seleccionadas.

Para aplicaciones de las ciencias de datos, PCA y la enfermedad vesicular porcina son muy similares. Sin embargo, el PCA no se ve afectada por la escala de las características originales (ya que funciona sobre las medidas de correlación que están todos unidos entre -1 y +1 valores) y PCA se centra en la reconstrucción de la relación entre las variables, lo que ofrece resultados diferentes de enfermedad vesicular porcina .

El logro de la reducción de dimensionalidad

El procedimiento para obtener un PCA es bastante similar al análisis factor. La diferencia es que no se especifica el número de componentes a extraer. Más adelante decide cuántos componentes para mantener después de comprobar el explained_variance_ratio_ atributo, que proporciona la cuantificación del valor informativo de cada componente extraído. El siguiente ejemplo muestra cómo realizar esta tarea:

Video: Ciencia de Datos para principiantes

. Pandas de sklearn.decomposition importación PCAimport como pdpca = PCA () en forma (X) print `varianza explicada por el componente:% s` % pca.explained_variance_ratio_print pd.DataFrame (pca.components_, columnas = iris.feature_names) Varianza explicada por el componente : [0.92461621 0.05301557 0.01718514 0.00518309] longitud sépalo (cm) sépalo anchura (cm) longitud de pétalo (cm) anchura del pétalo (cm) 0 0,361590 -0,082269 0,856572 0,3588441 -0,656540 -0,729712 0,175767 0,0747062 0,580997 -0,596418 -0,072524 -0,5490613 0,317255 -0,324094 - 0.479719 0.751121

En esta descomposición del conjunto de datos del iris, la matriz de vector proporcionado por explained_variance_ratio_ indica que la mayoría de la información se concentra en el primer componente (92,5 por ciento). Por lo tanto, es posible reducir el conjunto de datos de sólo dos componentes, proporcionando una reducción del ruido y la información redundante de la base de datos original.

Artículos Relacionados