Limitare le tue feature
Come hai visto, usare CountVectorizer con le impostazioni predefinite crea una feature per ogni singola parola nel tuo corpus. Questo può generare un numero eccessivo di feature, spesso includendo termini che apportano pochissimo valore analitico.
Per questo scopo CountVectorizer ha dei parametri che puoi impostare per ridurre il numero di feature:
min_df: Usa solo le parole che compaiono in più di questa percentuale di documenti. Può essere utile per rimuovere parole fuori scala che non si generalizzano nei testi.max_df: Usa solo le parole che compaiono in meno di questa percentuale di documenti. È utile per eliminare parole molto comuni che ricorrono in ogni corpus senza aggiungere valore, come "and" o "the".
Questo esercizio fa parte del corso
Feature Engineering per il Machine Learning in Python
Istruzioni dell'esercizio
- Limita il numero di feature in CountVectorizer impostando al 20% il numero minimo di documenti in cui una parola può comparire e all’80% il massimo.
- Esegui fit e trasformazione del vettorizzatore sulla colonna
text_cleanin un solo passaggio. - Converte questo array trasformato (sparso) in un array numpy con i conteggi.
- Stampa le dimensioni del nuovo array ridotto.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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(____)