Tf-idf
Mặc dù đếm số lần xuất hiện của từ có thể hữu ích để xây dựng mô hình, các từ xuất hiện quá nhiều có thể làm lệch kết quả theo hướng không mong muốn. Để ngăn các từ phổ biến lấn át mô hình, bạn có thể dùng một dạng chuẩn hóa. Trong bài này, bạn sẽ sử dụng Term frequency-inverse document frequency (Tf-idf) như đã đề cập trong video. Tf-idf giúp giảm giá trị của các từ phổ biến, đồng thời tăng trọng số cho những từ không xuất hiện trong nhiều tài liệu.
Bài tập này là một phần của khóa học
Feature Engineering cho Machine Learning bằng Python
Hướng dẫn bài tập
- Import
TfidfVectorizertừsklearn.feature_extraction.text. - Khởi tạo
TfidfVectorizervới số lượng đặc trưng tối đa là 100 và loại bỏ các stop words tiếng Anh. - Fit và áp dụng vectorizer lên cột
text_cleantrong một bước. - Tạo DataFrame
tv_dfchứa các trọng số của từ và dùng tên đặc trưng làm tên cột.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# 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())