Nội dung bài viết

© 2025 AI VIET NAM. All rights reserved.

Decision Tree hoạt động như thế nào và khi nào nên dùng cây quyết định?

Tác giả: AI VIET NAM (Decision Tree)

Keywords: Decision Tree

Bạn đang hỏi kiểu:

“Decision Tree là gì? Nó chia kiểu gì? Khi nào nên dùng cây quyết định và khi nào nên chọn Random Forest, XGBoost?”

Câu trả lời ngắn:
Decision Tree là mô hình học ra một chuỗi câu hỏi if–else thông minh để đưa ra dự đoán.
Dễ hiểu, dễ giải thích, tốt cho dữ liệu tabular — nhưng một mình nó rất dễ overfit nếu cây quá sâu.

Trong bài này, bạn sẽ:

  • Hiểu cách Decision Tree hoạt động theo cách trực quan
  • Biết ưu – nhược điểm thật sự của cây quyết định
  • Biết khi nào nên dùng tree, và khi nào không nên
  • Thấy Decision Tree nằm ở đâu trong lộ trình AIO – chương trình AI & Data Science 1 năm của AI VIET NAM

1. Decision Tree là gì nếu nhìn bằng “ngôn ngữ if–else”?

Hãy quên entropy, Gini… trước.
Nhìn một cây quyết định như:

Một chuỗi câu hỏi if–else được tổ chức thành hình cái cây.

  • Node = một câu hỏi

    • “Thu nhập > 15 triệu không?”
    • “Số đơn hàng > 3 không?”
  • Branch = câu trả lời

    • Có → đi nhánh phải
    • Không → đi nhánh trái
  • Leaf (lá) = kết luận cuối cùng

    • Dự đoán churn
    • Dự đoán không churn
    • Dự đoán doanh thu (nếu là regression)

Cách hoạt động cực đơn giản:

  1. Bắt đầu từ gốc
  2. Hỏi câu hỏi ở node
  3. Chọn nhánh phù hợp
  4. Lặp lại đến khi gặp lá → đưa ra dự đoán

Điểm khác biệt quan trọng:

Bạn không phải tự viết if–else.
Model tự học xem nên đặt câu hỏi nào, ở ngưỡng nào để phân tách dữ liệu tốt nhất.


2. Decision Tree học “câu hỏi” bằng cách nào?

Đây là phần nhiều bạn tò mò nhất:

“Sao nó biết phải hỏi ‘Thu nhập > 15 triệu?’ mà không phải ‘Tuổi > 27?’?”

Ý tưởng cốt lõi:

  1. Ở mỗi bước, model thử tách dữ liệu bằng tất cả các feature và nhiều ngưỡng khác nhau.
  2. Với mỗi cách chia, nó đo xem dữ liệu có “gọn hơn” không — nghĩa là ít lẫn lộn giữa các nhãn hơn.
  3. Nó chọn feature + ngưỡng giúp dữ liệu sạch nhất.

“Độ sạch” đo bằng:

  • Entropy
  • Gini impurity (phổ biến)
  • Hoặc variance reduction với regression

Bạn chỉ cần hiểu ở mức Newbie:

Một tách tốt là tách làm cho mỗi bên thiên về một nhãn rõ rệt.

Sau đó model tiếp tục chia từng nhánh con (đệ quy) cho đến khi:

  • Dữ liệu đủ sạch
  • Hoặc đạt giới hạn độ sâu
  • Hoặc số mẫu quá ít
  • Hoặc đạt tiêu chí dừng

3. Decision Tree dùng cho Classification hay Regression?

Cả hai.

🔵 Classification Tree

  • Dự đoán nhãn (spam/không spam, churn/không churn…)
  • Leaf = nhãn chiếm đa số hoặc xác suất

🔴 Regression Tree

  • Dự đoán số (giá nhà, doanh thu…)
  • Leaf = giá trị trung bình trong nhóm mẫu rơi vào lá

4. Ưu điểm của Decision Tree: vì sao ai học ML cũng nên biết?

✅ 1. Dễ hiểu, dễ giải thích cho business

Không cần thuật ngữ chuyên môn.
Không cần nặng toán.

Bạn có thể nói:

“Nếu khách có >5 đơn hàng trong 3 tháng gần đây và không khiếu nại → churn thấp.”
“Nếu đơn hàng giảm mạnh + gọi CSKH nhiều → churn cao.”

Rất hợp với:

  • Tài chính – ngân hàng
  • Bảo hiểm
  • Legal / compliance
  • Marketing / CRM

✅ 2. Hoạt động rất tốt với dữ liệu tabular

Không cần chuẩn hóa feature.
Không cần quá nhiều biến đổi dữ liệu.

✅ 3. Xử lý tốt feature số và category

Có thể dùng one-hot hoặc encoding nhẹ, hoặc dùng implementations hỗ trợ trực tiếp.

✅ 4. Là nền tảng của các model mạnh nhất hiện nay

Random Forest, Gradient Boosting, XGBoost, LightGBM — tất cả đều xây từ Decision Tree.

Không hiểu Decision Tree → khó hiểu các model tabular mạnh.


5. Nhược điểm: vì sao ít ai dùng “một cây duy nhất” trong production?

❌ 1. Rất dễ overfit

Một cây quá sâu sẽ “học thuộc lòng dữ liệu”.

Train accuracy = 99%
Test accuracy = tệ

❌ 2. Không ổn định với dữ liệu nhiễu

Chỉ cần thay đổi vài điểm dữ liệu → cây có thể thay đổi cấu trúc lớn.

❌ 3. Với Regression, dự đoán dạng “bậc thang”

Không mượt như Linear Regression.


6. Khi nào NÊN dùng Decision Tree?

🎯 1. Khi bạn cần mô hình dễ giải thích

  • Scoring rủi ro
  • Segmentation khách hàng
  • Quy tắc bán hàng / marketing
  • SME cần hiểu “logic” của mô hình

🎯 2. Khi bạn mới học ML

Tree là gateway để hiểu phi tuyến tính.

🎯 3. Khi cần baseline non-linear trên data tabular

Tree giúp bạn biết:

  • Bài toán có tính phi tuyến không
  • Có nên dùng Random Forest/XGBoost không

7. Khi nào KHÔNG nên dùng Decision Tree?

🚫 1. Khi dữ liệu lớn/nhiễu/phức tạp

→ Dùng ensemble như Random Forest, XGBoost.

🚫 2. Khi cần performance cao nhất

→ XGBoost/LightGBM thường thắng.

🚫 3. Khi xử lý ảnh, text, audio

→ Deep Learning phù hợp hơn.


8. Vai trò của Decision Tree trong lộ trình AI & Data Science 1 năm

Trong một lộ trình 1 năm:

Decision Tree thường xuất hiện sau:

  • Linear Regression
  • Logistic Regression

trước:

  • Random Forest
  • Gradient Boosting
  • XGBoost
  • LightGBM

→ Đây là cây cầu nối giữa ML cơ bản và các tree-based model mạnh.


9. Decision Tree trong chương trình AIO – AI & Data Science 1 năm của AI VIET NAM

AIO2026 là chương trình AI & Data Science 1 năm dành cho Newbie & Non-Tech:

  • Học live buổi tối
  • 22+ dự án
  • Mentor 1–1 hỗ trợ
  • Không hứa việc làm, chỉ hứa kiến thức thật + project thật

Trong AIO, Decision Tree được học trong:

  • Module ML tabular
  • Các dự án churn, scoring, price prediction
  • So sánh Decision Tree vs Logistic vs Random Forest vs XGBoost
  • XAI cơ bản cho tree (feature importance, đường chia node)
  • Cách giải thích mô hình cho business

Mục tiêu:

Bạn hiểu Decision Tree không chỉ bằng toán, mà bằng “trực giác ML thực chiến”.


10. FAQ – Câu hỏi thường gặp về Decision Tree

1. Decision Tree có cần dữ liệu nhiều không?

Không cần quá nhiều.
Nhưng dữ liệu quá ít → cây dễ overfit.

2. Có cần chuẩn hóa dữ liệu không?

Không.
Tree không nhạy với scale.

3. Dùng Random Forest/XGBoost rồi, có cần học cây đơn không?

Có.
Không hiểu cây → khó tuning model ensemble.

4. Decision Tree có thay thế Logistic Regression được không?

Không hoàn toàn.
Tùy bài toán tuyến tính hay phi tuyến.

5. Trong AIO có được vẽ/visualize Decision Tree không?

Có.
Bạn sẽ tự train cây, visualize, phân tích node, giải thích logic.


Tài nguyên & Liên kết

📌 Bài viết thuộc series trong chương trình AIO – khóa AI & Data Science 1 năm của AI VIET NAM, dành cho Newbie & Non-Tech.