Chỉ số Gini Impurity trong Decision Tree đo lường điều gì?

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

Keywords: Gini Impurity, Decision Tree, độ hỗn hợp dữ liệu, phân lớp, Machine Learning

Vì sao nhiều bạn dễ nhầm khi đọc về Gini Impurity?

Khi mới tìm hiểu Decision Tree, nhiều bạn nhìn thấy công thức của Gini Impurity và cảm giác nó

trừu tượng
:
nhân, bình phương, rồi cộng dồn… nhưng không rõ mô hình đo lường điều gì và vì sao phải dùng nó.

Thực tế, Gini Impurity chỉ phản ánh một điều rất gần gũi:
mức độ

lẫn lộn
của các lớp trong một tập dữ liệu con.

Một node càng hỗn hợp (nhiều lớp trộn lẫn), độ impurity càng cao.
Một node càng

sạch
(gần như chỉ chứa một lớp), độ impurity càng thấp.

Gini Impurity đo lường điều gì?

Bản chất của Gini Impurity

Gini Impurity là chỉ số dùng để đo xem tại một node của cây quyết định, dữ liệu có đang bị pha trộn giữa nhiều lớp hay không.

Nó trả lời câu hỏi:

Nếu chọn ngẫu nhiên một phần tử trong node, xác suất bị gán sai lớp là bao nhiêu?

  • Impurity cao → dữ liệu lẫn nhiều lớp → node chưa tốt.
  • Impurity thấp → dữ liệu gần như đồng nhất → node tốt, có khả năng trở thành leaf node.

Khái niệm này xuất hiện trong nhóm kiến thức nền tảng của Machine Learning – Classification (Module 4 của AIO), nơi các thuật toán dựa trên entropy và impurity được xem như bước quan trọng để hiểu cách mô hình phân chia dữ liệu.

Cách hiểu Gini dưới dạng trực quan

Thay vì nhìn công thức, bạn có thể tưởng tượng như sau:

  • Nếu một node đang có 50% lớp A + 50% lớp B
    → mô hình

    bối rối
    vì chưa biết ưu tiên lớp nào → impurity cao.

  • Nếu node có 90% lớp A + 10% lớp B
    → node khá

    sạch
    , hướng phân lớp rõ ràng → impurity thấp.

  • Nếu node có 100% một lớp

    impurity = 0
    → node hoàn toàn sạch.

Vì sao Decision Tree dùng Gini Impurity?

Trong quá trình xây dựng cây, mô hình sẽ chọn thuộc tính giúp giảm impurity nhiều nhất, nghĩa là:

  • chia dữ liệu thành những nhóm
    thuần hơn
  • tăng khả năng phân loại chính xác
  • giảm sự lẫn lộn giữa các lớp

Chính việc giảm impurity này tạo nên cách cây học được quy tắc.

Về mặt dự án thực tế (thuộc nhóm kiến thức nền từ Data → ML của AIO), Gini Impurity giúp bạn:

  • hiểu vì sao một cây chọn feature này mà không chọn feature khác
  • giải thích mô hình (liên quan đến XAI – giải thích mô hình ML)
  • tránh overfitting khi kết hợp với depth limit hoặc pruning
  • phân tích xem mô hình đang chia dữ liệu quá mức hay chưa

Ví dụ minh họa cho người mới

Giả sử bạn có một node chứa 10 mẫu:

  • 8 mẫu
    Tích cực
  • 2 mẫu
    Tiêu cực

Node này có impurity thấp vì:

  • phần lớn đều thuộc cùng một lớp
  • nếu đoán
    Tích cực
    cho tất cả, xác suất sai không quá lớn

Ngược lại, nếu node có:

  • 5 mẫu
    Tích cực
  • 5 mẫu
    Tiêu cực

Thì độ impurity là cao nhất vì:

  • mô hình gần như không phân biệt được
  • xác suất đoán sai khi chọn ngẫu nhiên một mẫu là lớn

Góc nhìn dự án AI/ML

Khi làm việc với Decision Tree hoặc Random Forest, bạn có thể quan sát Gini Impurity ở từng node để:

  • hiểu cách mô hình đang tách dữ liệu
  • đánh giá ngay xem tách tại feature đó có hợp lý với trực giác hay không
  • tìm sai lệch trong dữ liệu (ví dụ: class imbalance)
  • kiểm tra chất lượng dữ liệu đầu vào trước khi đi sâu vào tuning

Gini Impurity vì thế là một

tín hiệu
giúp bạn đọc được cấu trúc mô hình — rất hữu ích khi bạn đang học XAI hoặc xây dựng pipeline ML (liên hệ với các module 4–7 của AIO về ML và MLOps cơ bản).

Gợi ý học thuật chung cho người mới

Nếu bạn đang làm quen với Decision Tree:

  • Bạn có thể thử so sánh Gini và Entropy để thấy hai cách đo impurity khác nhau.
  • Bạn có thể quan sát sự thay đổi purity khi tách theo từng feature.
  • Bạn có thể thử bài toán nhỏ (ví dụ một dataset 2–3 lớp) để cảm nhận trực quan mức độ lẫn lộn.

Những bước thực hành nhỏ giúp bạn hiểu rõ cách mô hình học thay vì chỉ dựa vào công thức.

Tài nguyên học AI: