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.

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)
-
Đạ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)
-
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)
-
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ố

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
-
Chỉ hỗ trợ dữ liệu rời rạc
C4.5
CART
-
Dùng Gini (classification) và MSE (regression)
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
-
Muốn baseline model nhanh
Không nên dùng khi:
-
Cần độ chính xác cao → nên dùng ensemble (Random Forest, XGBoost)