Tf-idf
Sebbene il conteggio delle occorrenze delle parole possa essere utile per costruire modelli, le parole che compaiono molte volte possono alterare i risultati in modo indesiderato. Per evitare che queste parole comuni dominino il tuo modello si può usare una forma di normalizzazione. In questa lezione userai la Term frequency–inverse document frequency (Tf-idf), come spiegato nel video. La Tf-idf riduce il peso delle parole comuni e aumenta quello delle parole che compaiono in pochi documenti.
Questo esercizio fa parte del corso
Feature Engineering per il Machine Learning in Python
Istruzioni dell'esercizio
- Importa
TfidfVectorizerdasklearn.feature_extraction.text. - Crea un'istanza di
TfidfVectorizerlimitando il numero di feature a 100 e rimuovendo le stop word inglesi. - Adatta e applica il vettorizzatore alla colonna
text_cleanin un solo passaggio. - Crea un DataFrame
tv_dfche contenga i pesi delle parole e usa i nomi delle feature come nomi delle colonne.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Import TfidfVectorizer
____
# Instantiate TfidfVectorizer
tv = ____
# Fit the vectroizer and transform the data
tv_transformed = ____(speech_df['text_clean'])
# Create a DataFrame with these features
tv_df = pd.DataFrame(tv_transformed.____,
columns=tv.____).add_prefix('TFIDF_')
print(tv_df.head())