Використання довших n-грам
Дотепер ви створювали ознаки на основі окремих слів у кожному тексті. Це може бути доволі потужним у моделі машинного навчання, але може турбувати, що за розгляду слів окремо втрачається багато контексту. Щоб врахувати це під час побудови моделей, можна використовувати n-грами — послідовності з n слів, згрупованих разом. Наприклад:
- біграми: послідовності з двох сусідніх слів
- триграми: послідовності з трьох сусідніх слів
Їх можна автоматично створити у вашому наборі даних, вказавши аргумент ngram_range як кортеж (n1, n2), де включаються всі n-грами в діапазоні від n1 до n2.
Ця вправа є частиною курсу
Feature Engineering для машинного навчання в Python
Інструкції до вправи
- Імпортуйте
CountVectorizerзsklearn.feature_extraction.text. - Створіть екземпляр
CountVectorizer, враховуючи лише триграми. - Виконайте навчання векторизатора та застосуйте його до стовпця
text_cleanв одному кроці. - Виведіть назви ознак, згенеровані векторизатором.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Import CountVectorizer
from sklearn.feature_extraction.text import ____
# Instantiate a trigram vectorizer
cv_trigram_vec = CountVectorizer(max_features=100,
stop_words='english',
____)
# Fit and apply trigram vectorizer
cv_trigram = ____(speech_df['text_clean'])
# Print the trigram features
print(cv_trigram_vec.____)