
Proyecto Rachael Tatman — Sesión 2: ¿se distingue una voz masculina de una femenina con un solo número?
Ya tenéis los datos cargados. Antes de entrenar nada, vamos a hacer lo mismo que en Katy Payne: mirar si, con una sola propiedad acústica, ya se aprecia una diferencia clara entre las dos clases.
Un primer vistazo con meanfun
Según la propia documentación del dataset, la propiedad más reveladora es meanfun —la frecuencia fundamental media de la voz, relacionada con lo agudo o grave que suena—. La propia página del dataset apunta que un umbral de unos 140Hz separa bastante bien las voces masculinas de las femeninas.
import matplotlib.pyplot as plt
datos.boxplot(column="meanfun", by="label")
plt.title("Frecuencia fundamental media (meanfun), por sexo")
plt.suptitle("")
plt.ylabel("meanfun (kHz)")
plt.show()
[COMPLETAR EN CLASE: ¿se tocan las dos cajas (male y female), o quedan claramente separadas? Comparadlo con lo que visteis en Katy Payne con mfcc_1]

Probad también con alguna otra propiedad, por ejemplo meanfreq o sd, y comparad qué tan bien separa cada una las dos clases:
datos.boxplot(column="meanfreq", by="label")
plt.title("Frecuencia media (meanfreq), por sexo")
plt.suptitle("")
plt.ylabel("meanfreq (kHz)")
plt.show()
[COMPLETAR EN CLASE: ¿qué propiedad separa mejor las dos clases, meanfun o meanfreq?]

Preparando entrenamiento y prueba
Como siempre, separamos características (X) y clase (y), y dividimos en entrenamiento y prueba. Aunque el dataset ya está equilibrado al 50/50, mantenemos stratify=y por costumbre —es buena práctica que ya aprendisteis en Laennec, y aquí no hace ningún daño:
from sklearn.model_selection import train_test_split
X = datos.drop(columns=["label"])
y = datos["label"]
X_entrenamiento, X_prueba, y_entrenamiento, y_prueba = train_test_split(
X, y, test_size=0.2, random_state=42, stratify=y
)
X_entrenamiento.shape, X_prueba.shape
[COMPLETAR CON VUESTROS DATOS REALES: cuántas voces hay en entrenamiento y cuántas en prueba]

Próximo paso
Con los datos preparados y una primera pista visual de que el problema parece bastante fácil, en la última sesión entrenamos el modelo, comprobamos los resultados, y volvemos sobre la historia de Rachael Tatman con la que empezamos.



