Limitando suas features
Como você viu, usar o CountVectorizer com as configurações padrão cria uma feature para cada palavra do seu corpus. Isso pode gerar features demais, muitas vezes incluindo aquelas que agregam pouquíssimo valor analítico.
Para esse objetivo, o CountVectorizer tem parâmetros que você pode definir para reduzir o número de features:
min_df: Use apenas palavras que aparecem em mais do que essa porcentagem de documentos. Isso pode ser usado para remover palavras fora do padrão que não se generalizam entre textos.max_df: Use apenas palavras que aparecem em menos do que essa porcentagem de documentos. Isso é útil para eliminar palavras muito comuns que ocorrem em todo corpus sem agregar valor, como "and" ou "the".
Este exercício faz parte do curso
Feature Engineering for Machine Learning in Python
Instruções do exercício
- Limite o número de features no CountVectorizer definindo o mínimo de documentos em que uma palavra pode aparecer para 20% e o máximo para 80%.
- Ajuste e aplique o vetorizador na coluna
text_cleanem um único passo. - Converta esse array transformado (esparso) em um array numpy com contagens.
- Imprima as dimensões do novo array reduzido.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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(____)