특성 수 제한하기
보신 것처럼 CountVectorizer를 기본 설정으로 사용하면 코퍼스에 있는 모든 단어에 대해 하나의 특성이 생성됩니다. 이렇게 하면 특성 수가 지나치게 많아지고, 분석적 가치가 거의 없는 특성도 포함될 수 있어요.
이 목적을 위해 CountVectorizer에는 특성 수를 줄일 수 있는 매개변수가 있습니다:
min_df: 이 비율보다 많은 문서에서 등장하는 단어만 사용해요. 텍스트 전반에 일반화되지 않는 이상치 단어를 제거하는 데 사용할 수 있어요.max_df: 이 비율보다 적은 문서에서 등장하는 단어만 사용해요. "and"나 "the"처럼 거의 모든 코퍼스에 등장하지만 가치 추가가 없는 매우 흔한 단어를 제거하는 데 유용해요.
이 연습은 강의의 일부입니다
Python으로 배우는 Machine Learning 특성 공학
연습 안내
- 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(____)