Limitando tus características
Como has visto, usar CountVectorizer con su configuración por defecto crea una característica por cada palabra del corpus. Esto puede generar demasiadas características, a menudo incluyendo algunas con muy poco valor analítico.
Para esto, CountVectorizer tiene parámetros que puedes ajustar para reducir el número de características:
min_df: Usa solo las palabras que aparezcan en más de este porcentaje de documentos. Puede servir para eliminar palabras atípicas que no se generalizan entre textos.max_df: Usa solo las palabras que aparezcan en menos de este porcentaje de documentos. Es útil para eliminar palabras muy comunes que aparecen en todos los corpus sin aportar valor, como "and" o "the".
Este ejercicio forma parte del curso
Ingeniería de características para Machine Learning en Python
Instrucciones del ejercicio
- Limita el número de características en CountVectorizer estableciendo el mínimo de documentos en los que puede aparecer una palabra al 20% y el máximo al 80%.
- Ajusta y aplica el vectorizador sobre la columna
text_cleanen un solo paso. - Convierte este array transformado (disperso) en un array de numpy con los recuentos.
- Imprime las dimensiones del nuevo array reducido.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Import CountVectorizer
from sklearn.feature_extraction.text import CountVectorizer
# Specify arguements to limit the number of features generated
cv = ____
# Fit, transform, and convert into array
cv_transformed = ____(speech_df['text_clean'])
cv_array = ____
# Print the array shape
print(____)