Tf-idf
Хоча кількість появ слів може бути корисною для побудови моделей, слова, що трапляються дуже часто, можуть небажано спотворювати результати. Щоб не дати таким поширеним словам переважити вашу модель, можна застосувати нормалізацію. У цій вправі ви використаєте Term frequency–inverse document frequency (Tf-idf), про що йшлося у відео. Tf-idf зменшує вагу поширених слів і підсилює вагу слів, які трапляються у небагатьох документах.
Ця вправа є частиною курсу
Feature Engineering для машинного навчання в Python
Інструкції до вправи
- Імпортуйте
TfidfVectorizerзsklearn.feature_extraction.text. - Створіть екземпляр
TfidfVectorizer, обмеживши кількість ознак 100 і видаливши англійські стоп-слова. - Навчіть і застосуйте векторизатор до стовпця
text_cleanв одному кроці. - Створіть датафрейм
tv_df, що міститиме ваги слів, а назви ознак використайте як назви стовпців.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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())