Ograniczanie liczby cech
Jak już wiesz, użycie CountVectorizer z domyślnymi ustawieniami tworzy osobną cechę dla każdego słowa w korpusie. Może to prowadzić do powstania zbyt wielu cech – często takich, które mają znikomą wartość analityczną.
W tym celu CountVectorizer udostępnia parametry pozwalające ograniczyć liczbę cech:
min_df: uwzględnia tylko słowa, które występują w więcej niż określonym odsetku dokumentów. Pozwala to usunąć rzadkie słowa, które nie będą dobrze uogólniać się na różne teksty.max_df: uwzględnia tylko słowa, które występują w mniej niż określonym odsetku dokumentów. Dzięki temu można wyeliminować bardzo popularne słowa pojawiające się w każdym korpusie bez wnoszenia wartości – na przykład „and" czy „the".
To ćwiczenie jest częścią kursu
Inżynieria cech w uczeniu maszynowym w Pythonie
Instrukcje do ćwiczenia
- Ogranicz liczbę cech w
CountVectorizer, ustawiając minimalną liczbę dokumentów, w których słowo musi wystąpić, na 20%, a maksymalną na 80%. - Dopasuj i zastosuj wektoryzator na kolumnie
text_cleanw jednym kroku. - Przekształć tę (rzadką) macierz w tablicę numpy zawierającą liczby wystąpień.
- Wyświetl wymiary nowej, zredukowanej tablicy.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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(____)