Tf-idf
Подсчёт количества вхождений слов может быть полезен при построении моделей, однако слова, встречающиеся очень часто, способны нежелательным образом искажать результаты. Чтобы снизить влияние таких слов на модель, применяется нормализация. В этом упражнении вы будете использовать метод TF-IDF (term frequency-inverse document frequency — частота слова, обратная частоте документа), о котором шла речь в видео. TF-IDF уменьшает вес часто встречающихся слов и повышает значимость слов, которые редко появляются в документах.
Это упражнение является частью курса
Конструирование признаков для машинного обучения в Python
Инструкции к упражнению
- Импортируйте
TfidfVectorizerизsklearn.feature_extraction.text. - Создайте экземпляр
TfidfVectorizer, ограничив количество признаков до 100 и исключив стоп-слова английского языка. - Обучите векторизатор и примените его к столбцу
text_cleanза один шаг. - Создайте DataFrame
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())