search

Decision Tree (CART)

Cây quyết định: Phân loại bằng cách đặt câu hỏi Có/Không liên tiếp.

Lớp:
3

Python Lab

Thực thi mô hình dựa trên trực quan hóa.

main.py
from sklearn.tree import DecisionTreeClassifier

# 0 điểm dữ liệu
X = [...]  # Tọa độ (x, y)
y = [...]  # Nhãn lớp (+1 / -1)

# Huấn luyện Decision Tree (CART)
model = DecisionTreeClassifier(max_depth=3)
model.fit(X, y)

print(f"Số nút trong cây: {model.tree_.node_count}")
print(f"Độ sâu cây: {model.get_depth()}")
// Kết quả (Output) sẽ xuất hiện ở đây khi nhấn Run...

account_treeNguyên lý hoạt động

Decision Tree là thuật toán Học có giám sát. Nó hoạt động bằng cách liên tục tìm câu hỏi Có/Không tốt nhất để chia dữ liệu thành các nhóm thuần nhất nhất.

Mỗi nút trong cây đặt câu hỏi: "Feature X ≤ Ngưỡng T?". Trả lời Có → đi trái, Không → đi phải. Lặp lại cho đến khi tới "lá" (kết luận).

Thuật toán CART (Classification And Regression Trees) sử dụng chỉ số Gini Impurity để đánh giá chất lượng mỗi lần chia.

heightTham số Max Depth

  • natureDepth nhỏ: Cây đơn giản, dễ tổng quát hóa nhưng có thể bỏ sót mẫu (underfitting).
  • parkDepth lớn: Cây phức tạp, khớp chính xác dữ liệu huấn luyện nhưng dễ bị overfitting.

codeTip lập trình

Trong thực tế, Random Forest = Tập hợp hàng trăm Decision Tree. Mỗi cây "bỏ phiếu" và kết quả cuối cùng là đa số phiếu → Chính xác hơn nhiều so với 1 cây!