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:
- Análisis de correspondencia múltiple (ACM)
- Análisis de componentes principales (PCA)
- Análisis factorial múltiple (MFA)
Puede comenzar primero instalando con:
pip install --user prince
Usar MCA
es 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')
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.
- 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.
- El paquete tiene solo dos funciones que aceptan nuevos datos como parámetro.
DF
:fs_r_sup(self, DF, N=None)
yfs_c_sup(self, DF, N=None)
. El último es encontrar las puntuaciones de los factores de la columna. - 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)