ПочатиПочніть безкоштовно

Обмеження кількості ознак

Як ви бачили, використання CountVectorizer із типовими налаштуваннями створює окрему ознаку для кожного слова у вашому корпусі. Це може призвести до надто великої кількості ознак, часто включно з тими, що майже не матимуть аналітичної цінності.

Для цього в CountVectorizer є параметри, які дають змогу зменшити кількість ознак:

  • min_df: використовувати лише слова, що трапляються більш ніж у такому відсотку документів. Це можна застосувати, щоб вилучити рідкісні слова, які не узагальнюються між текстами.
  • max_df: використовувати лише слова, що трапляються менш ніж у такому відсотку документів. Це корисно, щоб прибрати дуже поширені слова, які є майже в кожному корпусі та не додають цінності, як-от «and» або «the».

Ця вправа є частиною курсу

Feature Engineering для машинного навчання в Python

Переглянути курс

Інструкції до вправи

  • Обмежте кількість ознак у CountVectorizer, встановивши мінімальну частку документів для появи слова на 20% і максимальну — на 80%.
  • Навчіть і застосуйте векторизатор до стовпця text_clean за один крок.
  • Перетворіть цей трансформований (розріджений) масив на масив numpy із підрахунками.
  • Виведіть розміри нового скороченого масиву.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Import CountVectorizer
from sklearn.feature_extraction.text import CountVectorizer

# Specify arguements to limit the number of features generated
cv = ____

# Fit, transform, and convert into array
cv_transformed = ____(speech_df['text_clean'])
cv_array = ____

# Print the array shape
print(____)
Редагувати та запускати код