Omezení počtu příznaků
Jak jsi viděl/a, CountVectorizer s výchozím nastavením vytvoří příznak pro každé jednotlivé slovo v korpusu. To může vygenerovat příliš mnoho příznaků, z nichž mnohé budou mít pro analýzu jen malou hodnotu.
Proto má CountVectorizer parametry, kterými lze počet příznaků omezit:
min_df: Zahrne pouze slova, která se vyskytují ve více než tomto procentu dokumentů. Slouží k odstranění výjimečných slov, která se napříč texty neobjevují pravidelně.max_df: Zahrne pouze slova, která se vyskytují v méně než tomto procentu dokumentů. To je užitečné pro odstranění velmi častých slov, která se sice vyskytují v každém korpusu, ale nepřidávají žádnou hodnotu – například "and" nebo "the".
Toto cvičení je součástí kurzu
Feature Engineering for Machine Learning in Python
Pokyny k cvičení
- Omezte počet příznaků v CountVectorizer tak, že nastavíš minimální počet dokumentů, ve kterých se slovo musí vyskytovat, na 20 % a maximální na 80 %.
- Vytrénuj vektorizátor a aplikuj ho na sloupec
text_cleanv jednom kroku. - Převeď transformované (řídké) pole na numpy pole s počty výskytů.
- Vypiš rozměry nového zmenšeného pole.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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(____)