CLASSIFICATION - TOP 5 thuật toán phân nhóm phổ biến: Giới thiệu và hướng dẫn áp dụng chi tiết

 1. Giới thiệu chung về thuật toán phân loại

Trong lĩnh vực phân tích dữ liệukhoa học dữ liệu, các thuật toán phân loại là một trong những công cụ quan trọng giúp các chuyên gia đưa ra quyết định và dự đoán dựa trên dữ liệu. Thuật toán phân loại được sử dụng để xác định hoặc dự đoán giá trị của một biến mục tiêu (target variable) từ các biến đầu vào. 

Tùy thuộc vào yêu cầu đầu ra và đầu vào của dữ liệu, chúng ta có 4 loại bài toán phân loại như sau:

Phân loại nhị phân



Phân loại đa lớp



Phân loại đa nhãn


Phân loại không cân bằng


Nguồn các ảnh: https://www.datacamp.com/blog/classification-machine-learning

Trong bài viết này, chúng ta sẽ tìm hiểu PHÂN LOẠI NHỊ PHÂN với một số thuật toán phân loại phổ biến như Logistic Regression, Decision Tree, Random Forest, Naive Bayes, và KNN qua một bài toán thực tế về BÀI TOÁN DUYỆT KHOẢN VAY TRONG CÁC TỔ CHỨC TÀI CHÍNH.

Bài toán cố gắng giải quyết việc phân loại hồ sơ có đủ điều kiện được phê duyệt cho vay dựa trên dữ liệu tài chính cá nhân của từng hồ sơ: Được phê duyệt và Không được phê duyệt/Từ chối.

2. Giới thiệu về case study

Dữ liệu và bài toán thực tế

Bài toán chúng ta sẽ xem xét là dự đoán khả năng phê duyệt của một hồ sơ vay vốn dựa trên các đặc điểm tài chính của khách hàng. Tập dữ liệu được sử dụng từ Kaggle, có tên là Financial Risk for Loan Approval, với hơn 20,000 bản ghi và 36 biến số, bao gồm các biến như CreditScore, LoanAmount, EmploymentStatus, RiskScore, v.v. Mục tiêu là phân loại hồ sơ của mỗi khách hàng vào hai lớp:

  • Được phê duyệt (LoanApproved = 1)
  • Không được phê duyệt (LoanApproved = 0)

Chúng ta phân tích để xác định yếu tố nào ảnh hưởng đến khả năng phê duyệt khoản vay và đánh giá hiệu quả của từng thuật toán.

3. Áp dụng các thuật toán phân loại để giải quyết bài toán

Để dễ dàng quan sát cách hoạt động của các thuật toán, mình sẽ sử dụng các hình ảnh trực quan với các đặc điểm như sau:

  • Màu đỏ đại diện cho các hồ sơ không được duyệt (LoanApproved = 0).
  • Màu xanh đại diện cho các hồ sơ được duyệt (LoanApproved = 1)
  • Vùng màu hồng nhạt đại diện cho các khu vực mà mô hình dự đoán LoanApproved = 0 (không được duyệt).
  • Vùng màu xanh nhạt đại diện cho các khu vực mà mô hình dự đoán LoanApproved = 1 (được duyệt).
  • 3.1 Logistic Regression

    Ý tưởng

    Logistic Regression là thuật toán phân loại tuyến tính, dựa trên hàm sigmoid để chuyển đầu ra thành xác suất giữa 0 và 1. Đây là thuật toán phổ biến nhất trong các bài toán phân loại nhị phân.

    Cách hoạt động

    Logistic Regression tạo ra một đường thẳng (hoặc mặt phẳng trong không gian nhiều chiều) để phân chia dữ liệu thành hai lớp. Dựa trên ngưỡng xác suất (thường là 0.5), các điểm dữ liệu sẽ được phân vào lớp 0 hoặc 1.

    Trong ví dụ này: Logistic Regression hiển thị một RANH GIỚI TUYẾN TÍNH giữa hai lớp (LoanApproved = 0 và LoanApproved = 1), với các vùng rõ ràng, giúp dễ nhận biết các nhóm.

    Ưu và nhược điểm

    • Ưu điểm: Dễ hiểu, nhanh và không cần nhiều tài nguyên tính toán.
    • Nhược điểm: Giới hạn ở ranh giới tuyến tính, không hiệu quả với dữ liệu phức tạp hoặc phi tuyến tính.

    3.2 Decision Tree

    Ý tưởng

    Decision Tree là một thuật toán phân loại phi tuyến tính. Nó tạo ra một cấu trúc dạng cây, với mỗi nút biểu thị một điều kiện dựa trên các biến độc lập.

    Cách hoạt động

    Decision Tree phân chia không gian dữ liệu thành các vùng dựa trên các ngưỡng điều kiện tại từng nút trong cây. Các vùng này có dạng hình chữ nhật và mô hình phân loại dựa vào việc dữ liệu thuộc về vùng nào.

    Hình minh họa bên dưới cho thấy ranh giới được kết hợp từ NHIỀU RANH GIỚI TUYẾN TÍNH phân loại của Decision Tree, với các vùng phân chia rõ ràng giữa các lớp.

    Ưu và nhược điểm

    • Ưu điểm: Dễ diễn giải, xử lý tốt dữ liệu phi tuyến tính.
    • Nhược điểm: Dễ bị overfitting nếu cây quá phức tạp.

    3.3 Random Forest

    Ý tưởng

    Random Forest là một tập hợp các cây quyết định, tạo ra dự đoán bằng cách tổng hợp kết quả từ nhiều cây khác nhau, giúp tăng độ chính xác và giảm overfitting.

    Cách hoạt động

    Random Forest sử dụng kỹ thuật bagging để tạo ra nhiều cây độc lập, mỗi cây quyết định dựa trên một mẫu ngẫu nhiên của dữ liệu. Kết quả cuối cùng là dự đoán trung bình từ tất cả các cây.

    Random Forest tạo ra ranh giới phức tạp hơn Decision Tree, giúp mô hình hóa tốt hơn các mẫu phức tạp.

    Ưu và nhược điểm

    • Ưu điểm: Độ chính xác cao, giảm overfitting hiệu quả.
    • Nhược điểm: Khó diễn giải, đòi hỏi nhiều tài nguyên tính toán.

    3.4 Naive Bayes

    Ý tưởng

    Naive Bayes là thuật toán dựa trên lý thuyết Bayes, giả định rằng các biến đầu vào là độc lập với nhau, điều này hiếm khi đúng trong thực tế.

    Cách hoạt động

    Naive Bayes tính xác suất của một điểm dữ liệu thuộc về mỗi lớp, sau đó chọn lớp có xác suất cao nhất. Phù hợp với các dữ liệu có nhiều biến đầu vào.

    Naive Bayes tạo ra các vùng phân loại tương đối đơn giản, phù hợp với dữ liệu có mẫu phân bố rõ ràng.

    Ưu và nhược điểm

    • Ưu điểm: Đơn giản, nhanh, đặc biệt hiệu quả với dữ liệu lớn.
    • Nhược điểm: Giả định các biến độc lập, có thể không hiệu quả với dữ liệu thực tế phức tạp.

    3.5 KNN

    Ý tưởng

    KNN (K-Nearest Neighbors) dựa trên khoảng cách giữa các điểm để phân loại. Mỗi điểm dữ liệu được phân loại dựa trên lớp chiếm đa số của k-lân cận gần nhất.

    Cách hoạt động

    KNN đo khoảng cách từ điểm cần dự đoán đến các điểm dữ liệu lân cận và gán lớp dựa trên số lượng điểm gần nhất.

    Hình minh họa cho thấy cách KNN phân chia dữ liệu thành các vùng dựa trên khoảng cách, với ranh giới phức tạp và không đều.

    Ưu và nhược điểm

    • Ưu điểm: Không cần giả định về dữ liệu, mô hình phi tuyến tính.
    • Nhược điểm: Chậm với dữ liệu lớn, dễ bị nhiễu bởi dữ liệu xung quanh.

    4. Kết luận về bài toán khi áp dụng các thuật toán phân loại

    Để tối ưu hiệu suất các thuật toán, mình đã thực hiện bước loại bỏ các biến không cần thiết bằng phương pháp Lasso. Dữ liệu giảm từ 36 biến xuống còn 12 biến. Trong bài viết sau, mình sẽ nói chi tiết hơn về các phương pháp để loại bỏ các biến không cần thiết nhé.

    Bảng so sánh kết quả các thuật toán phân loại

    Nhận xét dựa trên hình ảnh trực quan:
  • Random ForestLogistic Regression cung cấp các ranh giới phân loại mượt mà và ít bị ảnh hưởng bởi nhiễu, phù hợp với tập dữ liệu này.
  • Decision Tree tạo ra các vùng phân loại rõ ràng nhưng kém mịn, có thể phù hợp khi yêu cầu tính diễn giải cao.
  • KNN có ranh giới phức tạp, phù hợp cho dữ liệu có cấu trúc không tuyến tính rõ ràng, nhưng dễ bị nhiễu do bản chất dựa trên khoảng cách.
  • 4.1. Accuracy (Độ chính xác)

    • Random Forest có độ chính xác cao nhất (92.65%), tiếp theo là Logistic Regression (92.87%). Hai mô hình này có hiệu suất cao hơn các mô hình khác về độ chính xác.
    • Naive BayesKNN có độ chính xác thấp nhất, lần lượt là 88.65% và 87.02%.
    • Điều này cho thấy Random ForestLogistic Regression là lựa chọn tối ưu nếu yêu cầu độ chính xác cao.

    4.2. 95% Confidence Interval (CI)

    • Khoảng tin cậy của Random Forest (0.918, 0.9344) và Logistic Regression (0.9203, 0.9365) cho thấy độ chính xác của hai mô hình này ổn định và đáng tin cậy hơn so với các mô hình khác.
    • Naive BayesKNN có CI thấp hơn, cho thấy độ chính xác của chúng không cao bằng và ít đáng tin cậy hơn khi áp dụng trên dữ liệu mới.

    4.3. Kappa

    • Random Forest có Kappa cao nhất (0.7916), tiếp theo là Logistic Regression (0.7974), cho thấy độ nhất quán cao trong dự đoán.
    • Naive BayesKNN có Kappa thấp nhất, chỉ ra rằng các mô hình này không có độ nhất quán cao bằng các mô hình khác.

    4.4. Mcnemar’s Test P-Value

    • Giá trị P của tất cả các mô hình rất thấp, chỉ ra rằng có sự khác biệt đáng kể giữa các lỗi dương tính giả (FP) và âm tính giả (FN).
    • KNN có P-Value thấp nhất (4.5934e-22), cho thấy nó dễ mắc lỗi loại I (dương tính giả) hoặc lỗi loại II (âm tính giả) hơn các mô hình khác.

    4.5. Sensitivity (Độ nhạy)

    • Random Forest có độ nhạy cao nhất (96.55%), nghĩa là mô hình này nhận diện tốt các trường hợp không được duyệt (lớp 0).
    • Naive Bayes có độ nhạy thấp nhất (94.12%), cho thấy khả năng nhận diện lớp 0 của mô hình này thấp hơn một chút.

    4.6. Specificity (Độ đặc hiệu)

    • Random Forest cũng dẫn đầu về độ đặc hiệu (80.23%), cho thấy mô hình này cũng phân biệt tốt các trường hợp được duyệt (lớp 1).
    • KNN có độ đặc hiệu thấp nhất (61.30%), cho thấy mô hình này dễ nhầm lẫn các trường hợp thuộc lớp 1 thành lớp 0.

    4.7. Pos Pred Value (Precision)

    • Random Forest có Precision cao nhất (93.96%), cho thấy dự đoán của nó về các trường hợp lớp 0 là đáng tin cậy.
    • KNN có Precision thấp nhất (88.67%), cho thấy mô hình này có khả năng dễ nhầm lẫn khi dự đoán lớp 0.

    4.8. Neg Pred Value

    • Random Forest tiếp tục dẫn đầu với giá trị 87.96%, cho thấy mô hình này dự đoán lớp 1 một cách đáng tin cậy nhất.
    • Naive BayesKNN có Neg Pred Value thấp hơn, nghĩa là chúng có khả năng nhầm lẫn lớp 1 thành lớp 0 cao hơn.

    4.9. Balanced Accuracy

    • Random Forest có Balanced Accuracy cao nhất (88.39%), cho thấy mô hình này cân bằng tốt giữa độ nhạy và độ đặc hiệu.
    • KNN có Balanced Accuracy thấp nhất (78.20%), chỉ ra rằng mô hình này không hoạt động hiệu quả trong việc cân bằng giữa hai lớp.

    TỔNG KẾT

    • Random Forest là mô hình tốt nhất trong các chỉ số như Accuracy, Kappa, Sensitivity, Specificity, Precision, và Balanced Accuracy. Đây là lựa chọn tối ưu khi bạn cần một mô hình mạnh mẽ và ổn định.
    • Logistic Regression cũng có hiệu suất cao, đặc biệt về độ chính xác và độ nhất quán (Kappa). Mô hình này là một lựa chọn tốt nếu bạn muốn một mô hình đơn giản nhưng hiệu quả.
    • Naive Bayes có độ chính xác và các chỉ số tương đối tốt, nhưng thấp hơn Random Forest và Logistic Regression. Đây là mô hình đơn giản và nhanh chóng, thích hợp cho các bài toán cần tốc độ hơn độ chính xác cao.
    • KNN có hiệu suất thấp nhất trong các chỉ số quan trọng, cho thấy mô hình này có thể không phải là lựa chọn tốt nhất cho bài toán này.

    Nếu bạn cần độ chính xác và tính ổn định cao nhất, Random Forest là lựa chọn tốt nhất. Logistic Regression là lựa chọn hợp lý nếu bạn muốn một mô hình dễ hiểu và có hiệu suất tốt.

    Qua bài viết, chúng ta đã phân tích và so sánh các thuật toán phân loại phổ biến trong phân tích dữ liệu, đồng thời áp dụng các thuật toán này trên một bài toán thực tế. Mỗi thuật toán có ưu nhược điểm riêng và phù hợp với các tình huống khác nhau trong thực tế. Hy vọng bài viết này sẽ hỗ trợ được các bạn!

    LINK dữ liệu và các file code thực hành có TẠI ĐÂY




    Đăng nhận xét

    Mới hơn Cũ hơn