Cây quyết định là biểu đồ có cấu trúc dạng cây được giới thiệu lần đầu tiên bởi Hunt và các cộng sự (Hunt, Marin, & Stone, 1966).
Hình 11 - Ví dụ về cây quyết định Trong đó gồm:
- Node gốc của cây: node trên cùng của cây, là một thuộc tính điều kiện. Các nhánh từ node gốc tương ứng với các giá trị có thể của thuộc tính này.
- Node trong: Mỗi node trong của cây cũng tương ứng với một thuộc tính điều kiện. Một node trong của cây có thể coi như là node gốc của một cây con. Mỗi node trong chỉ bao hàm những đối tượng dữ liệu thuộc một nhánh cụ thể của node cha.
Số lượng thuộc tính
Info :5 Service:62 Bill&Promo:34
- Node lá: node cuối trong nhánh mà tất cả các đối tượng đều thuộc một lớp hoặc không còn thuộc tính điều kiện nào để phân chia hoặc không còn đối tượng dữ liệu nào để phân chia.
Điều quan trọng của thuật toán cây quyết định là tiêu chí đánh giá để tìm điểm chia. Ý tưởng chính trong việc đưa ra các tiêu chí này là làm sao cho các tập con được phân chia càng trở nên “trong suốt” (tất cả các bộ thuộc về cùng một nhãn) càng tốt. Quinlan đã phát triển thuật toán ID3 dùng độ đo thông tin thu thêm (Information Gain - Gain) để xác định điểm chia tốt nhất. Độ đo này dựa trên cơ sở lý thuyết thông tin của Claude Shannon (1948) để đo tính thuần nhất (hay ngược lại là pha trộn) của một tập hợp. Độ đo này được xác như sau:
Entropy (S) = - ∑ (1.1)
Trong đó m là số lượng các lớp khác nhau và là tỉ lệ các đối tượng mang nhãn i. Để xác định điểm chia, ID3 so sánh entropy của một node cha với tổng tỉ lệ entropy của các node con sau khi phân chia, Gain(S, A) của thuộc tính A, trên tập S, được định nghĩa như sau:
Gain(S, A) = Entropy (S) - ∑
(1.2)
Với giá trị Value (A) là tập các giá trị có thể cho thuộc tính A, và là tập con của S mà A nhận giá trị v.
C4.5 là kế thừa của thuật toán học máy bằng cây quyết định dựa trên nền tảng là kết quả nghiên cứu của Hunt và các cộng sự của ông. Phiên bản đầu tiên ra đời là ID3 (Quinlan, 1979)- một hệ thống đơn giản ban đầu chứa khoảng 600 dòng lệnh Pascal, và tiếp theo là C4 (Quinlan 1987). Năm 1993, J. Ross Quinlan đã kế thừa các kết quả đó phát triển thành C4.5 với 9000 dòng lệnh C. Mặc dù đã có phiên bản phát triển từ C4.5 là C5.0 - một hệ thống tạo ra lợi nhuận từ Rule Quest Research, nhưng nhiều tranh luận, nghiên cứu vẫn tập trung vào C4.5 vì mã nguồn của nó là sẵn dùng.
Một số cải tiến của thuật toán C4.5 so với ID3:
- Sử dụng Gain Ratio (thay vì Information Gain) để chọn thuộc tính phân chia trong quá trình xây dựng cây.
- Có thể xử lý tốt cả 2 loại dữ liệu rời rạc và liên tục
- Có thể xử lý dữ liệu không đầy đủ ( thiếu một số giá trị tại một số thuộc tính)
- Thực hiện cắt tỉa cây sau khi xây dựng: loại bỏ những nhánh cây không thực sự ý nghĩa.
Thuật toán C4.5, một cải tiến của ID3, mở rộng cách tính Information Gain thành Gain Ratio để chọn thuộc tính phân chia trong quá trình xây dựng cây.
Gain Ratio được xác định bởi công thức sau:
GainRatio(S,A) =
(1.3)
Trong đó: SplitInformation(S, A) chính là thông tin do phân tách của A trên cơ sở giá trị của thuộc tính phân loại S. Công thức tính như sau:
SplitInformation(S, A) = - ∑
(1.4)