Tf-idf
Antalet förekomster av ord kan vara användbart för att bygga modeller, men ord som förekommer många gånger riskerar att snedvrida resultaten på ett oönskat sätt. För att förhindra att vanliga ord dominerar modellen kan en form av normalisering användas. I den här lektionen använder du termfrekvens-invers dokumentfrekvens (Tf-idf), som togs upp i videon. Tf-idf minskar vikten av vanliga ord och ökar samtidigt vikten av ord som inte förekommer i många dokument.
Den här övningen är en del av kursen
Särdragshantering för maskininlärning i Python
Övningsinstruktioner
- Importera
TfidfVectorizerfrånsklearn.feature_extraction.text. - Skapa en instans av
TfidfVectorizeroch begränsa antalet särdrag till 100 samt ta bort engelska stoppord. - Anpassa och tillämpa vektoriseraren på kolumnen
text_cleani ett steg. - Skapa en DataFrame
tv_dfmed ordvikterna och särdragsnamnen som kolumnnamn.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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())