← Về danh sách dự án

Dự án trọng tâm / 03

Dự đoán xếp hạng tín dụng khách hàng

So sánh các mô hình phân loại Machine Learning trên Orange Data Mining

Dự án trọng tâm5 phút đọc

Tóm tắt nhanh

Tổng quan dự án

Nội dung nghiên cứu

Bài toán: làm sao đánh giá tín nhiệm khách hàng một cách khách quan hơn

Trong lĩnh vực tài chính, việc đánh giá mức độ tín nhiệm của khách hàng đóng vai trò quan trọng trong quá trình xét duyệt khoản vay và quản lý rủi ro. Nếu thực hiện thủ công, quá trình này không chỉ tốn thời gian mà còn dễ bị ảnh hưởng bởi yếu tố chủ quan của người đánh giá — hai nhân viên khác nhau có thể đưa ra kết luận khác nhau cho cùng một hồ sơ.

Project sử dụng Credit Score Classification Dataset, chứa thông tin hồ sơ khách hàng và lịch sử tín dụng, với mục tiêu xây dựng một quy trình khai phá dữ liệu hoàn chỉnh để dự đoán xếp hạng tín dụng, từ đó hỗ trợ phân loại khách hàng vào các nhóm tín dụng dựa trên dữ liệu lịch sử — thay vì chỉ dựa vào đánh giá thủ công.

Vai trò: trực tiếp xây dựng và đánh giá toàn bộ workflow

Trong nhóm 3 thành viên, công việc tập trung vào việc trực tiếp thực hiện quy trình phân tích dữ liệu trên Orange Data Mining, từ khâu xử lý dữ liệu đến huấn luyện và đánh giá mô hình:

  • Tham gia tiền xử lý dữ liệu, phân tích mối tương quan giữa các thuộc tính và loại bỏ những thuộc tính không cần thiết
  • Xây dựng workflow xử lý dữ liệu hoàn chỉnh trên Orange
  • Huấn luyện và so sánh nhiều mô hình phân loại khác nhau
  • Đánh giá hiệu quả từng mô hình dựa trên các chỉ số chuẩn của bài toán classification
  • Hoàn thiện báo cáo và trình bày kết quả của nhóm

Quá trình: từ dữ liệu thô đến việc chọn đúng mô hình

Một trong những điều quan trọng nhất rút ra được từ project này là: việc chọn mô hình không nên chỉ dựa vào độ chính xác (accuracy) — đặc biệt với bài toán phân loại tín dụng, nơi việc dự đoán sai một khách hàng rủi ro cao thành “đủ điều kiện vay” có thể gây hậu quả nghiêm trọng hơn nhiều so với việc đánh giá quá khắt khe một khách hàng tốt.

Quy trình thực hiện gồm các bước:

  1. Thu thập và tìm hiểu bộ dữ liệu Credit Score Classification
  2. Tiền xử lý dữ liệu — xử lý các giá trị thiếu và chuẩn hóa dữ liệu đầu vào
  3. Phân tích tương quan giữa các thuộc tính, loại bỏ những thuộc tính dư thừa hoặc không có giá trị dự đoán
  4. Xây dựng workflow trên Orange Data Mining
  5. Huấn luyện và so sánh 4 mô hình phân loại: Logistic Regression, Decision Tree, Support Vector Machine (SVM), và Neural Network
  6. Đánh giá từng mô hình qua nhiều chỉ số: Confusion Matrix, ROC Curve, Precision, Recall, F1-Score và AUC
  7. Chọn mô hình phù hợp nhất và thực hiện dự đoán trên dữ liệu mới

Kết quả cho thấy Decision Tree là mô hình cho hiệu quả tốt nhất trên bộ dữ liệu này — một kết quả thú vị, vì các mô hình phức tạp hơn như Neural Network không phải lúc nào cũng vượt trội, đặc biệt khi dữ liệu có cấu trúc dạng bảng (tabular) với các quy tắc phân nhóm khá rõ ràng.

Kết quả đạt được

  • Hoàn thành toàn bộ quy trình phân loại dữ liệu trên Orange Data Mining
  • So sánh hiệu quả của 4 mô hình Machine Learning khác nhau trên cùng một bộ dữ liệu
  • Đánh giá mô hình một cách toàn diện qua AUC, Precision, Recall, F1-Score và Confusion Matrix — không chỉ dựa vào accuracy đơn lẻ
  • Xác định Decision Tree là mô hình phù hợp nhất cho bài toán cụ thể này

Bài học lớn nhất

Đây là lần đầu tiên tiếp cận một quy trình phân tích dữ liệu theo hướng Machine Learning một cách có hệ thống — từ việc hiểu vì sao dữ liệu cần được chuẩn bị kỹ trước khi đưa vào mô hình, đến việc hiểu ý nghĩa thật của từng chỉ số đánh giá. Một bài học quan trọng là: hai mô hình có thể có accuracy gần giống nhau, nhưng lại có Precision và Recall rất khác nhau — và lựa chọn mô hình nào phụ thuộc vào việc loại sai lầm nào “đắt giá” hơn trong bài toán thực tế.

Hạn chế của project

  • Toàn bộ workflow được xây dựng trên Orange Data Mining theo yêu cầu môn học, nên khả năng tùy biến còn hạn chế so với việc code trực tiếp bằng Python
  • Chưa thực hiện EDA (Exploratory Data Analysis) một cách chi tiết
  • Chưa tối ưu hyperparameter cho các mô hình
  • Chưa trực quan hóa đầy đủ Feature Importance

Nếu làm lại

  • Xây dựng lại toàn bộ quy trình bằng Python với scikit-learn thay cho Orange, để có thể tùy biến sâu hơn
  • Thực hiện EDA kỹ hơn trước khi huấn luyện mô hình
  • Áp dụng Feature Engineering và Feature Scaling phù hợp
  • Thử nghiệm thêm các mô hình mạnh hơn như Random Forest hoặc XGBoost
  • Tối ưu siêu tham số bằng Grid Search hoặc Random Search
  • Đóng gói toàn bộ quy trình thành một Jupyter Notebook có khả năng tái lập hoàn toàn

Bắt đầu trò chuyện

Bạn có một câu hỏi đáng để cùng khám phá?

Tôi sẵn sàng trao đổi về các vị trí dữ liệu, cơ hội hợp tác chỉn chu và câu chuyện phía sau nghiên cứu này.

Liên hệ