Decision Tree là gì? Các thuật toán và ứng dụng Decision Tree phổ biến

Những điểm chính

 

  • Quan điểm: Decision Tree là nền tảng quan trọng trước khi học các mô hình mạnh hơn như Random Forest hay Gradient Boosting.

 

  • Khái niệm: Mô hình học máy dạng cây, mô phỏng logic ra quyết định kiểu if–then.

 

  • Thành phần: Gồm node gốc, node quyết định, nhánh và node lá.

 

  • Nguyên lý: Hoạt động theo cơ chế chia để trị, tách dữ liệu thành các nhóm nhỏ dần.

 

  • Thuật toán: Bao gồm ID3, C4.5, CART, CHAID, MARS.

 

Decision Tree là gì?

 

Decision Tree là mô hình học máy có giám sát, biểu diễn quá trình ra quyết định dưới dạng một cấu trúc cây.

 

Thay vì dùng công thức phức tạp, mô hình này hoạt động bằng cách:

 

  • Đặt câu hỏi tại mỗi bước (ví dụ: “tuổi > 30?”)

 

  • Chia dữ liệu thành các nhánh dựa trên câu trả lời

 

  • Lặp lại cho đến khi đưa ra kết quả cuối cùng

 

Điểm mạnh lớn nhất của Decision Tree là tính trực quan — bạn có thể “đọc” được cách mô hình đưa ra quyết định.

 

Decision Tree, Decision Tree phổ biến

 

Thành phần chính của Decision Tree

 

Một cây quyết định gồm các phần sau:

 

1. Node gốc (Root node)

 

  • Là điểm bắt đầu của cây

 

  • Đại diện cho toàn bộ dữ liệu ban đầu

 

  • Chứa thuộc tính quan trọng nhất để chia dữ liệu

 

2. Node quyết định (Decision node)

 

  • Là các nút trung gian

 

  • Thực hiện các phép kiểm tra điều kiện

 

  • Mỗi node sẽ chia dữ liệu thành các nhánh nhỏ hơn

 

3. Nhánh (Branch)

 

  • Là đường nối giữa các node

 

  • Đại diện cho kết quả của một điều kiện (ví dụ: đúng/sai)

 

4. Node lá (Leaf node)

 

  • Là điểm kết thúc của cây

 

  • Chứa kết quả dự đoán cuối cùng
    • Phân loại → nhãn (class)
    • Hồi quy → giá trị số

 

Decision Tree, Decision Tree phổ biến

 

Nguyên lý hoạt động của Decision Tree

 

Decision Tree hoạt động theo nguyên tắc chia để trị (divide and conquer):

 

1. Chọn thuộc tính tốt nhất để chia

 

  • Dựa trên các tiêu chí:
    • Information Gain
    • Gain Ratio
    • Gini Index

 

  • Mục tiêu: làm cho dữ liệu “thuần” hơn sau mỗi lần chia

 

2. Chia dữ liệu thành các nhóm nhỏ

 

  • Mỗi kết quả của điều kiện sẽ tạo ra một nhánh mới

 

  • Dữ liệu được phân tách theo nhánh tương ứng

 

3. Lặp lại quá trình

 

  • Tiếp tục chia ở các node con

 

  • Dừng khi:
    • Dữ liệu đủ “thuần”
    • Đạt độ sâu tối đa
    • Không còn thuộc tính phù hợp

 

4. Gán giá trị cho node lá

 

  • Phân loại → chọn lớp phổ biến nhất

 

  • Hồi quy → lấy giá trị trung bình hoặc trung vị

 

5. Cắt tỉa (Pruning)

 

  • Giảm overfitting bằng cách:
    • Giới hạn độ sâu (pre-pruning)
    • Cắt bớt nhánh không cần thiết (post-pruning)

 

Các loại Decision Tree phổ biến

 

1. Cây phân loại (Classification Tree)

 

Dùng khi đầu ra là giá trị rời rạc:

 

  • Ví dụ:
    • Spam / Không spam
    • Khách hàng rời bỏ / Không rời bỏ

 

Đặc điểm:

 

  • Tối ưu độ thuần của lớp
  • Dùng entropy hoặc Gini

 

2. Cây hồi quy (Regression Tree)

 

Dùng khi đầu ra là giá trị liên tục:

 

  • Ví dụ:
    • Giá nhà
    • Doanh thu
    • Nhiệt độ

 

Đặc điểm:

 

  • Tối ưu sai số dự đoán (MSE)
  • Node lá chứa giá trị số

 

Các thuật toán Decision Tree phổ biến

 

ID3

 

  • Dùng Information Gain

 

  • Chỉ hỗ trợ dữ liệu rời rạc

 

C4.5

 

  • Nâng cấp từ ID3

 

  • Dùng Gain Ratio

 

  • Hỗ trợ dữ liệu liên tục

 

CART

  • Phổ biến nhất hiện nay

 

  • Dùng Gini (classification)MSE (regression)

 

  • Tạo cây nhị phân

 

CHAID

 

  • Dựa trên kiểm định thống kê (Chi-square)

 

  • Phù hợp phân tích dữ liệu marketing

 

MARS

 

  • Mô hình mở rộng cho hồi quy phi tuyến

 

  • Linh hoạt hơn Decision Tree truyền thống

 

Khi nào nên dùng Decision Tree?

 

Bạn nên dùng Decision Tree khi:

 

  • Cần mô hình dễ giải thích

 

  • Dữ liệu không quá lớn

 

  • Muốn baseline model nhanh

 

Không nên dùng khi:

 

  • Dữ liệu quá phức tạp

 

  • Cần độ chính xác cao → nên dùng ensemble (Random Forest, XGBoost)
 HỖ TRỢ TRỰC TUYẾN