Limitarea numărului de caracteristici
După cum ai văzut, folosirea CountVectorizer cu setările implicite creează câte o caracteristică pentru fiecare cuvânt din corpus. Acest lucru poate genera mult prea multe caracteristici, inclusiv unele care vor aduce o valoare analitică foarte mică.
În acest scop, CountVectorizer oferă parametri pe care îi poți seta pentru a reduce numărul de caracteristici:
min_df: Folosește doar cuvintele care apar în mai mult decât acest procent de documente. Poate fi utilizat pentru a elimina cuvintele rare care nu se generalizează în texte diferite.max_df: Folosește doar cuvintele care apar în mai puțin decât acest procent de documente. Este util pentru a elimina cuvintele foarte frecvente care apar în orice corpus fără a adăuga valoare, precum „și" sau „the".
Acest exercițiu face parte din cursul
Ingineria caracteristicilor pentru Machine Learning în Python
Instrucțiuni pentru exercițiu
- Limitează numărul de caracteristici din CountVectorizer setând numărul minim de documente în care trebuie să apară un cuvânt la 20% și maximul la 80%.
- Antrenează și aplică vectorizatorul pe coloana
text_cleanîntr-un singur pas. - Convertește acest array transformat (sparse) într-un array numpy cu numărători.
- Afișează dimensiunile noului array redus.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(____)