IniziaInizia gratis

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

Visualizza il corso

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_clean in 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(____)
Modifica ed esegui il codice