Huấn luyện bộ phân loại spam
Dữ liệu SMS đã được chuẩn bị để xây dựng một bộ phân loại. Cụ thể, bạn đã:
- loại bỏ số và dấu câu
- tách tin nhắn thành các từ (hoặc "token")
- loại bỏ stop words
- áp dụng hashing trick và
- chuyển đổi sang biểu diễn TF-IDF.
Tiếp theo, bạn sẽ cần chia dữ liệu TF-IDF thành tập huấn luyện và tập kiểm tra. Sau đó, bạn sẽ dùng dữ liệu huấn luyện để fit một mô hình Logistic Regression và cuối cùng đánh giá hiệu năng của mô hình đó trên dữ liệu kiểm tra.
Dữ liệu được lưu trong sms và LogisticRegression đã được import sẵn cho bạn.
Bài tập này là một phần của khóa học
Machine Learning với PySpark
Hướng dẫn bài tập
- Chia dữ liệu thành tập huấn luyện và kiểm tra theo tỷ lệ 4:1. Đặt seed số ngẫu nhiên là 13 để có thể lặp lại.
- Tạo một đối tượng
LogisticRegressionvà fit nó với dữ liệu huấn luyện. - Sinh dự đoán trên dữ liệu kiểm tra.
- Dùng các dự đoán để tạo ma trận nhầm lẫn (confusion matrix).
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.
# Split the data into training and testing sets
sms_train, sms_test = sms.____(____, ____)
# Fit a Logistic Regression model to the training data
logistic = ____(regParam=0.2).____(____)
# Make predictions on the testing data
prediction = logistic.____(____)
# Create a confusion matrix, comparing predictions to known labels
prediction.groupBy(____, ____).____().____()