Saltar al contenido

Usando el paquete mca en Python

Necesitamos tu ayuda para extender nuestras secciones acerca de las ciencias de la computación.

Solución:

Otro método es utilizar el príncipe de la biblioteca, que permite un uso sencillo de herramientas como:

  1. Análisis de correspondencia múltiple (ACM)
  2. Análisis de componentes principales (PCA)
  3. Análisis factorial múltiple (MFA)

Puede comenzar primero instalando con:

pip install --user prince

Usar MCAes bastante simple y se puede hacer en un par de pasos (al igual que sklearn PCA método.) Primero construimos nuestro marco de datos.

import pandas as pd 
import prince

X = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/balloons/adult+stretch.data')
X.columns = ['Color', 'Size', 'Action', 'Age', 'Inflated']

print(X.head())

mca = prince.MCA()

# outputs
>>     Color   Size   Action    Age Inflated
   0  YELLOW  SMALL  STRETCH  ADULT        T
   1  YELLOW  SMALL  STRETCH  CHILD        F
   2  YELLOW  SMALL      DIP  ADULT        F
   3  YELLOW  SMALL      DIP  CHILD        F
   4  YELLOW  LARGE  STRETCH  ADULT        T

Seguido de llamar al fit y transform método.

mca = mca.fit(X) # same as calling ca.fs_r(1)
mca = mca.transform(X) # same as calling ca.fs_r_sup(df_new) for *another* test set.
print(mca)

# outputs
>>         0             1
0   0.705387  8.373126e-15
1  -0.386586  8.336230e-15
2  -0.386586  6.335675e-15
3  -0.852014  6.726393e-15
4   0.783539 -6.333333e-01
5   0.783539 -6.333333e-01
6  -0.308434 -6.333333e-01
7  -0.308434 -6.333333e-01
8  -0.773862 -6.333333e-01
9   0.783539  6.333333e-01
10  0.783539  6.333333e-01
11 -0.308434  6.333333e-01
12 -0.308434  6.333333e-01
13 -0.773862  6.333333e-01
14  0.861691 -5.893240e-15
15  0.861691 -5.893240e-15
16 -0.230282 -5.930136e-15
17 -0.230282 -7.930691e-15
18 -0.695710 -7.539973e-15

Incluso puede imprimir el diagrama de la imagen, ya que incorpora matplotlib biblioteca.

ax = mca.plot_coordinates(
     X=X,
     ax=None,
     figsize=(6, 6),
     show_row_points=True,
     row_points_size=10,
     show_row_labels=False,
     show_column_points=True,
     column_points_size=30,
     show_column_labels=False,
     legend_n_cols=1
     )

ax.get_figure().savefig('images/mca_coordinates.svg')

mca

La documentación del paquete mca no es muy clara al respecto. Sin embargo, hay algunas pistas que sugieren que ca.fs_r_sup(df_new) debe utilizarse para proyectar datos nuevos (invisibles) sobre los factores obtenidos en el análisis.

  1. El autor del paquete se refiere a nuevos datos como Dato suplementario que es la terminología utilizada en el siguiente artículo: Abdi, H., & Valentin, D. (2007). Análisis de correspondencias múltiples. Enciclopedia de medición y estadística.651-657.
  2. El paquete tiene solo dos funciones que aceptan nuevos datos como parámetro. DF: fs_r_sup(self, DF, N=None) y fs_c_sup(self, DF, N=None). El último es encontrar las puntuaciones de los factores de la columna.
  3. La guía de uso demuestra esto basándose en un nuevo marco de datos que no se ha utilizado durante el análisis de componentes.

valoraciones y comentarios

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *