Tf-idf
단어 등장 횟수(count)를 사용하는 것도 모델 구축에 유용하지만, 너무 자주 등장하는 단어는 원치 않게 결과를 왜곡할 수 있어요. 이러한 흔한 단어가 모델을 압도하지 않도록 정규화 기법을 사용할 수 있습니다. 이 레슨에서는 영상에서 다룬 것처럼 Tf-idf(Term frequency–inverse document frequency)를 사용할 거예요. Tf-idf는 흔한 단어의 값은 낮추고, 여러 문서에 많이 등장하지 않는 단어의 가중치는 높이는 효과가 있습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 Machine Learning 특성 공학
연습 안내
sklearn.feature_extraction.text에서TfidfVectorizer를 임포트하세요.- 특성 수를 100개로 제한하고 영어 불용어를 제거하도록
TfidfVectorizer를 인스턴스화하세요. text_clean열에 대해 한 번에 벡터라이저를 학습하고 적용하세요.- 단어 가중치와 특성 이름을 열 이름으로 갖는 DataFrame
tv_df를 생성하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Import TfidfVectorizer
____
# Instantiate TfidfVectorizer
tv = ____
# Fit the vectroizer and transform the data
tv_transformed = ____(speech_df['text_clean'])
# Create a DataFrame with these features
tv_df = pd.DataFrame(tv_transformed.____,
columns=tv.____).add_prefix('TFIDF_')
print(tv_df.head())