PHẦN I. TIỀN XỬ LÝ DỮ LIỆU
I. Giới thiệu về bộ dữ liệu
Báo cáo sử dụng bộ dữ liệu E-commerce Customer Behavior, cung cấp thông tin chi tiết về hành vi của khách hàng trên một nền tảng thương mại điện tử. Bộ dữ liệu gồm có 350 dòng và 11 cột. Mỗi dòng tương ứng với một khách hàng duy nhất với các thuộc tính cụ thể sau:
-
Customer ID: Mã số định danh duy nhất của từng khách hàng.
-
Gender: Giới tính (Nam hoặc Nữ).
-
Age: Độ tuổi tại thời điểm khảo sát.
-
City: Thành phố nơi khách hàng sinh sống (gồm 6 thành phố: New York, Los Angeles, Chicago, Miami, San Francisco, Houston).
-
Membership Type: Loại thành viên (Bronze, Silver, Gold) nhằm phân loại mức độ thân thiết.
-
Total Spend: Tổng số tiền khách hàng đã chi tiêu trên nền tảng.
-
Items Purchased: Tổng số lượng mặt hàng đã mua.
-
Average Rating: Điểm đánh giá trung bình của khách hàng dành cho sản phẩm.
-
Discount Applied: Biến logic cho biết giao dịch có được áp dụng giảm giá hay không (True/False).
-
Days Since Last Purchase: Số ngày kể từ lần mua hàng gần đây nhất.
-
Satisfaction Level: Mức độ hài lòng của khách hàng (Satisfied, Neutral, Unsatisfied).
II. Làm sạch dữ liệu (Data Cleaning)
-
Xử lý dữ liệu trùng lặp: Tiến hành kiểm tra và kết quả cho thấy không có giá trị trùng lặp trong bộ dữ liệu (0 dòng trùng lặp).
-
Xử lý giá trị thiếu (Missing values): Phát hiện cột
Satisfaction Levelcó 2 giá trị thiếu. Sinh viên thực hiện xử lý bằng phương pháp xóa các hàng chứa giá trị thiếu này, đưa dữ liệu về dạng sạch (cleaned_data.csv). -
Xử lý giá trị ngoại lai (Outliers): Sử dụng phương pháp IQR (Khoảng tứ phân vị) để kiểm tra các thuộc tính số học (
Age,Total Spend,Items Purchased,Average Rating,Days Since Last Purchase). Kết quả ghi nhận số lượng ngoại lai ở tất cả các cột đều bằng $0$ (không có giá trị ngoại lai).
III. Chuyển đổi và Chuẩn hóa dữ liệu
Bộ dữ liệu sau khi làm sạch được phân loại thành 6 thuộc tính số học (Numeric) và 5 thuộc tính phân loại (Categorical) để tiến hành chuyển đổi:
-
Mã hóa Label Encoding: Áp dụng cho các biến nhị phân và biến phân loại theo cấp bậc.
-
Gender: Female = 1, Male = 0. -
Discount Applied: True = 1, False = 0. -
Membership Type: Bronze = 0, Silver = 1, Gold = 2. -
Satisfaction Level: Unsatisfied = 0, Neutral = 1, Satisfied = 2
-
-
Mã hóa One-Hot Encoding: Áp dụng cho biến định danh nhiều giá trị không phân cấp bậc là
City, chuyển đổi thành 6 cột nhị phân độc lập tương ứng với 6 thành phố. -
Chuẩn hóa dữ liệu (Z-score Normalization): Sử dụng công cụ
StandardScalerđể đưa các biến số học về cùng một thang đo với giá trị trung bình (Mean) ~ 0 và độ lệch chuẩn (Std) ~ 1. Việc chuẩn hóa này giúp tăng độ chính xác cho các thuật toán nhạy cảm với khoảng cách như KNN, SVM hay Logistic Regression.
PHẦN II. CÁC THUẬT TOÁN HỌC CÓ GIÁM SÁT (SUPERVISED LEARNING)
I. Đánh giá tổng quan với thư viện LazyPredict
Mô hình đặt thuộc tính Days Since Last Purchase làm biến mục tiêu (y) và phân chia dữ liệu theo tỷ lệ 80% huấn luyện (Train) và 20% kiểm tra (Test). Thư viện LazyRegressor đã tự động chạy thử nghiệm và đưa ra kết quả so sánh. Ba thuật toán có hiệu suất cao nhất được lựa chọn dựa trên tiêu chí R^2 cao nhất và chỉ số RMSE thấp nhất:
-
GradientBoostingRegressor: R^2 = 0.974, MAE = 0.120, RMSE = 0.163. Đây là mô hình hoạt động xuất sắc nhất, có khả năng dự đoán chính xác và kiểm soát sai số tốt nhất đối với các giá trị ngoại lệ.
-
LGBMRegressor: R^2 = 0.973, MAE = 0.124, RMSE = 0.167. Mô hình đạt hiệu suất gần tương đương Gradient Boosting nhưng sở hữu tốc độ tính toán và huấn luyện vượt trội.
-
HistGradientBoostingRegressor: R^2 = 0.972, MAE = 0.123, RMSE = 0.170. Cho tốc độ nhanh, tính ổn định cao nhờ kỹ thuật phân chia giá trị thành các thùng chứa (bin).
II. Phân tích tương quan và Hồi quy
-
Ma trận tương quan: Kết quả phân tích biểu đồ nhiệt (Heatmap) cho thấy mối tương quan dương rất mạnh giữa các cặp biến:
-
Total SpendvàItems Purchasedcó hệ số tương quan lớn nhất hệ thống (0.97). -
Membership TypevàTotal Spend(0.95). -
Từ đó rút ra insight: Khách hàng có hạng thành viên cao thường mua sắm nhiều mặt hàng hơn, dẫn đến tổng chi tiêu lớn hơn và họ có xu hướng đánh giá (Rating) cao hơn cho dịch vụ.
-
-
Hồi quy tuyến tính (Linear Regression): Thiết lập mô hình giữa biến độc lập
Items Purchased(x) và biến phụ thuộcTotal Spend(y).-
Phương trình hồi quy thu được: y = 0.972x + 0.000$.
-
Đánh giá: Mô hình đạt R^2 = 0.945, giải thích được tới 94.5% phương sai của dữ liệu, chứng minh số lượng mặt hàng là nhân tố quyết định chính đến mức chi tiêu.
-
-
Hồi quy Logistic (Logistic Regression): Thực hiện dự đoán biến phân loại
Discount Applieddựa trên biến đầu vàoDays Since Last Purchase.-
Độ chính xác tổng thể (Accuracy) đạt 86%.
-
Mô hình phân loại rất tốt ở lớp 0 (Không áp dụng giảm giá – Recall đạt 0.92) nhưng có xu hướng dự đoán kém hơn ở lớp $1$ (Có áp dụng giảm giá – Recall đạt 0.78) do có sự nhầm lẫn nhẹ ở vùng ranh giới giữa 2 lớp.
-
III. Phân loại với thuật toán KNN và SVM
Bài toán thực hiện rời rạc hóa thuộc tính Total Spend thành 3 nhóm: Low (Thấp), Moderate (Trung bình), High (Cao) dựa trên phân vị; sử dụng 2 biến đầu vào là Average Rating và Items Purchased.
| Chỉ số đánh giá | Thuật toán KNN | Thuật toán SVM | Nhận xét so sánh |
| Độ chính xác (Accuracy) |
92.38% |
97.14% |
SVM tốt hơn rõ rệt |
| Nhóm Low (Thấp) |
F1-score: 0.91 0 lỗi nhầm lẫn |
F1-score: 0.97 2 lỗi nhầm lẫn |
KNN đạt Recall hoàn hảo nhưng SVM có F1-score tối ưu hơn. |
| Nhóm Moderate (Trung bình) |
F1-score: 0.86 8 lỗi nhầm lẫn |
F1-score: 0.96 1 lỗi nhầm lẫn
|
SVM vượt trội hoàn toàn, KNN gặp khó khăn lớn tại vùng ranh giới trung gian. |
| Nhóm High (Cao) |
F1-score: 0.99 0 lỗi nhầm lẫn |
F1-score: 0.99 0 lỗi nhầm lẫn |
Hiệu suất ngang nhau, cả hai đều phân loại hoàn hảo nhóm khách hàng chi tiêu cao. |
Kết luận: Mô hình thuật toán SVM (Support Vector Machine) là lựa chọn tối ưu hơn cho tổng thể bài toán phân loại này.
PHẦN III. CÁC THUẬT TOÁN HỌC KHÔNG GIÁM SÁT (UNSUPERVISED LEARNING)
I. Thuật toán phân cụm K-means
-
-
Trường hợp phân cụm trên 2 thuộc tính (
Total Spend&Items Purchased): Phương pháp đường cong khuỷu tay (Biểu đồ Elbow) chỉ ra điểm gập tự nhiên lý tưởng tại $k = 3$. Dữ liệu khách hàng tách biệt rõ rệt thành 3 cụm:-
Cụm 0: Khách hàng giá trị thấp (mua ít, chi tiêu ít).
-
Cụm 1: Khách hàng tiềm năng (mức chi tiêu và mua sắm trung bình).
-
Cụm 2: Khách hàng thân thiết/trung thành (chi tiêu cao, mua sắm nhiều)
-
-
Trường hợp phân cụm trên toàn bộ dữ liệu: Biểu đồ Elbow xuất hiện điểm gập rõ rệt nhất tại $k = 6$. Khi giảm chiều dữ liệu bằng thuật toán PCA về 2 thành phần chính, các quan sát được phân bổ thành 6 phân khúc hành vi khách hàng chi tiết khác nhau nhằm phục vụ các chiến lược cá nhân hóa kinh doanh.
-



