MỤC LỤC ………………………………………………………………………………2 Chương 1 CƠ SỞ LÝ THUYẾT 6 1.1. Giới thiệu chung 6 1.2. Các kiểu cây quyết định 8 1.3. Ví dụ 8 1.4. Ưu điểm của cây quyết định 11 Chương 2 XÂY DỰNG CÂY QUYẾT ĐỊNH ỨNG DỤNG THUẬT TOÁN ID3 13 2.1. Giới thiệu 13 2.2. Giải thuật ID3 xây dựng cây quyết định 14 2.3. Thuộc tính nào là thuộc tính dùng để phân loại tốt nhất? 15 2.4. Entropy đo tính thuần nhất của tập ví dụ 15 2.5. Lượng thông tin thu được đo mức độ giảm entropy mong đợi 17 2.6. Tìm kiếm không gian giả thuyết trong ID3 17 2.7. Đánh giá hiệu suất của cây quyết định 19 2.8. Ví dụ minh họa 19 Chương 3 DEMO Với DecisionTreeApplet_3.20 33 KẾT LUẬN ……………………………………………………………………………..35 TÀI LIỆU THAM KHẢO 36
CƠ SỞ LÝ THUYẾT
Giới thiệu chung
Trong lý thuyết quyết định, cây quyết định là một đồ thị thể hiện các quyết định và hậu quả của chúng, bao gồm rủi ro và hao phí tài nguyên Cây quyết định giúp xây dựng kế hoạch nhằm đạt được mục tiêu mong muốn và hỗ trợ quá trình ra quyết định Đây là một dạng đặc biệt của cấu trúc cây.
Trong học máy, cây quyết định là một mô hình dự báo, giúp ánh xạ từ các quan sát đến kết luận về giá trị mục tiêu Mỗi nút bên trong đại diện cho một biến, trong khi đường nối tới nút con thể hiện giá trị cụ thể của biến đó Nút lá cho biết giá trị dự đoán của biến mục tiêu dựa trên các giá trị của biến được biểu diễn qua đường đi từ nút gốc tới nút lá Kỹ thuật học máy này được gọi là học bằng cây quyết định.
Học bằng cây quyết định là một phương pháp phổ biến trong khai phá dữ liệu, trong đó cây quyết định mô tả một cấu trúc cây với các lá đại diện cho phân loại và cành đại diện cho các thuộc tính kết hợp dẫn đến phân loại đó Quá trình học diễn ra bằng cách chia tập dữ liệu thành các tập con dựa trên kiểm tra giá trị thuộc tính, và được lặp lại đệ quy cho đến khi không thể chia tách thêm hoặc khi một phân loại đơn có thể áp dụng cho tất cả phần tử trong tập con Để cải thiện tỉ lệ phân loại, bộ phân loại rừng ngẫu nhiên (random forest) sử dụng nhiều cây quyết định.
Cây quyết định cũng là một phương tiện có tính mô tả dành cho việc tính toán các xác suất có điều kiện.
Cây quyết định là sự kết hợp giữa các kỹ thuật toán học và tính toán, giúp mô tả, phân loại và tổng quát hóa một tập dữ liệu cụ thể.
Dữ liệu được cho dưới dạng các bản ghi có dạng:
Biến phụ thuộc (dependant variable) y là biến chính mà chúng ta cần nghiên cứu, phân loại hoặc tổng quát hóa, trong khi các biến x1, x2, x3, sẽ hỗ trợ chúng ta trong quá trình này.
Có thể mô tả cây quyết định là một cấu trúc phân cấp của các nút và các nhánh, bao gồm :
- 3 loại nút trên cây: Nút gốc; Nút nội bộ: mang tên thuộc tính củaCSDL; Nút lá: mang tên lớp Ci;
Cây quyết định là một công cụ quan trọng trong phân lớp, hoạt động bằng cách duyệt từ nút gốc đến nút lá Quá trình này cho phép xác định lớp của đối tượng cần phân tích một cách hiệu quả.
Các kiểu cây quyết định
Cây quyết định còn có hai tên khác:
Cây hồi quy (Regression tree) là một công cụ mạnh mẽ trong việc ước lượng các hàm giá có giá trị số thực, khác với việc sử dụng cho các nhiệm vụ phân loại Ví dụ, cây hồi quy có thể được áp dụng để ước tính giá trị của một ngôi nhà hoặc xác định khoảng thời gian mà một bệnh nhân cần nằm viện.
Cây phân loại (Classification tree): nếu y là một biến phân loại như: giới tính (nam hay nữ), kết quả của một trận đấu (thắng hay thua).
Ví dụ
David, quản lý của một câu lạc bộ golf nổi tiếng, đang gặp khó khăn với việc kiểm soát số lượng thành viên đến chơi Vào những ngày đông đúc, câu lạc bộ không đủ nhân viên phục vụ, trong khi những ngày vắng vẻ lại thừa nhân viên vì không có ai đến Điều này tạo ra sự mất cân bằng trong hoạt động của câu lạc bộ.
David đặt mục tiêu tối ưu hóa số lượng nhân viên phục vụ mỗi ngày bằng cách sử dụng thông tin dự báo thời tiết để dự đoán thời điểm khách hàng đến chơi golf Để đạt được điều này, anh cần hiểu rõ lý do khách hàng quyết định chơi golf và tìm ra các yếu tố giải thích cho sự lựa chọn đó.
Trong hai tuần, David đã thu thập thông tin về thời tiết, bao gồm trạng thái trời (nắng, nhiều mây hoặc mưa), nhiệt độ (độ F), độ ẩm, tình trạng gió (có gió mạnh hay không) và số lượng người chơi golf Kết quả là anh có một bộ dữ liệu với 14 dòng và 5 cột.
Dữ liệu chơi golf Các biến độc lập
Nắng 80 90 có không Âm u 83 78 không có
Mưa 65 70 có không Âm u 64 65 có có
Nắng 75 70 có có Âm u 72 90 có có Âm u 81 75 không có mưa 71 80 có không
Bảng 1.1 Dữ liệu chơi golf
Sau đó, để giải quyết bài toán của David, người ta đã đưa ra một mô hình cây quyết định.
Hình 1.1 Mô hình cây quyết định chơi golf
Cây quyết định là một mô hình dữ liệu mã hóa phân bố của nhãn lớp (y) dựa trên các thuộc tính để dự đoán Mô hình này được thể hiện dưới dạng một đồ thị có hướng phi chu trình, với nút gốc đại diện cho toàn bộ dữ liệu Thuật toán cây phân loại cho thấy rằng biến phụ thuộc "play" (chơi) có thể được giải thích tốt nhất thông qua biến "Outlook" Phân loại theo giá trị của biến "Outlook" tạo ra ba nhóm: nhóm người chơi golf khi trời nắng, nhóm chơi khi trời nhiều mây, và nhóm chơi khi trời mưa.
Kết luận thứ nhất: nếu trời nhiều mây, người ta luôn luôn chơi golf Và có một số người ham mê đến mức chơi golf cả khi trời mưa.
Tiếp theo, ta lại chia nhóm trời nắng thành hai nhóm con Ta thấy rằng khách hàng không muốn chơi golf nếu độ ẩm lên quá 70%.
Cuối cùng, ta chia nhóm trời mưa thành hai và thấy rằng khách hàng sẽ không chơi golf nếu trời nhiều gió.
Hình 1.2 Cây quyết định chơi golf
David quyết định cho phần lớn nhân viên nghỉ vào những ngày nắng ẩm hoặc mưa gió, vì ít khách chơi golf trong những thời điểm này Vào những ngày khác khi có nhiều người đến chơi golf, anh thuê thêm nhân viên thời vụ để hỗ trợ công việc.
Kết luận là cây quyết định giúp ta biến một biểu diễn dữ liệu phức tạp thành một cấu trúc đơn giản hơn rất nhiều.
Ưu điểm của cây quyết định
So với các phương pháp khai phá dữ liệu khác, cây quyết định là phương pháp có một số ưu điểm:
Cây quyết định dễ hiểu Người ta có thể hiểu mô hình cây quyết định sau khi được giải thích ngắn.
Chuẩn bị dữ liệu cho cây quyết định có thể được coi là cơ bản hoặc không cần thiết Trong khi các kỹ thuật khác thường yêu cầu chuẩn hóa dữ liệu, việc tạo biến phụ (dummy variable) và loại bỏ giá trị rỗng là rất quan trọng.
Cây quyết định có khả năng xử lý cả dữ liệu số và dữ liệu phân loại, trong khi các kỹ thuật khác thường chỉ áp dụng cho một loại biến cụ thể Ví dụ, các luật quan hệ chỉ áp dụng cho biến phân loại, trong khi mạng nơ-ron chỉ xử lý dữ liệu số.
Cây quyết định là một mô hình hộp trắng cho phép giải thích các điều kiện bằng logic Boolean khi quan sát một tình huống cụ thể Ngược lại, mạng nơ-ron được xem là mô hình hộp đen, vì việc giải thích kết quả của nó trở nên quá phức tạp và khó hiểu.
Có thể thẩm định một mô hình bằng các kiểm tra thống kê Điều này làm cho ta có thể tin tưởng vào mô hình.
Cây quyết định có khả năng xử lý khối lượng dữ liệu lớn một cách hiệu quả trong thời gian ngắn Việc sử dụng máy tính cá nhân để phân tích dữ liệu lớn giúp các nhà chiến lược đưa ra quyết định chính xác dựa trên kết quả từ cây quyết định.
XÂY DỰNG CÂY QUYẾT ĐỊNH ỨNG DỤNG THUẬT TOÁN ID3
Giới thiệu
Hiện nay có nhiều thuật toán xây dựng cây quyết định như: ID3, C4.5 và C5.0 Trong báo cáo này sẽ tập trung trình bày về ID3.
Giải thuật quy nạp cây ID3 là một phương pháp học máy đơn giản nhưng hiệu quả, được ứng dụng rộng rãi trong nhiều lĩnh vực ID3 nổi bật nhờ vào cách biểu diễn tri thức học được, khả năng quản lý tính phức tạp, và các phương pháp heuristic trong việc chọn lựa khái niệm ứng viên Ngoài ra, ID3 còn có tiềm năng trong việc xử lý dữ liệu nhiễu, làm cho nó trở thành một công cụ hữu ích trong phân tích dữ liệu.
ID3 biểu diễn các khái niệm dưới dạng cây quyết định, cho phép xác định phân loại của một đối tượng thông qua việc kiểm tra giá trị của nó trên một số thuộc tính nhất định.
Giải thuật ID3 có nhiệm vụ học cây quyết định từ tập dữ liệu rèn luyện, hay còn gọi là các ví dụ rèn luyện.
Đầu vào của bài viết bao gồm một tập hợp các ví dụ, mỗi ví dụ được mô tả thông qua các thuộc tính liên quan đến một tình huống hoặc đối tượng cụ thể, cùng với giá trị phân loại tương ứng của nó.
Cây quyết định có khả năng phân loại chính xác các ví dụ trong tập dữ liệu huấn luyện, đồng thời hy vọng sẽ phân loại đúng cho những ví dụ chưa gặp trong tương lai.
Giải thuật ID3 xây dựng cây quyết định
Thuật toán ID3 xây dựng cây quyết định theo phương pháp từ trên xuống, phân chia tập hợp các ví dụ thành các tập con tách biệt dựa trên các thuộc tính Mỗi thuộc tính được chọn để kiểm tra tại nút hiện tại, từ đó phân vùng các ví dụ Quá trình này diễn ra đệ quy, tạo ra cây con cho từng phân vùng cho đến khi tất cả các ví dụ trong một phân vùng thuộc về cùng một lớp, và lớp đó trở thành nút lá của cây quyết định.
ID3 xây dựng cây quyết định theo giải thuật sau :
Hàm induce_tree (tập_ví_dụ, tập_thuộc_tính) thực hiện việc xây dựng cây quyết định Nếu tất cả ví dụ trong tập_ví_dụ thuộc về cùng một lớp, nó trả về một nút lá với nhãn lớp đó Nếu tập_thuộc_tính rỗng, nó trả về nút lá với nhãn của tất cả các lớp trong tập_ví_dụ Nếu không, hàm chọn một thuộc tính P làm gốc cho cây, xóa P khỏi tập_thuộc_tính, và với mỗi giá trị V của P, nó tạo một nhánh gán nhãn V Các ví dụ trong tập_ví_dụ có giá trị V tại thuộc tính P sẽ được đưa vào phân_vùngV, và hàm gọi lại induce_tree (phân_vùngV, tập_thuộc_tính) để gắn kết kết quả vào nhánh V.
Thuộc tính nào là thuộc tính dùng để phân loại tốt nhất?
Quinlan (1983) là người đầu tiên áp dụng lý thuyết thông tin để xây dựng cây quyết định, với công trình của ông làm nền tảng cho bài viết này Lý thuyết thông tin của Shannon (1948) giới thiệu khái niệm entropy, dùng để đo độ thuần nhất hay độ pha trộn của một tập hợp Một tập hợp được coi là thuần nhất khi tất cả các phần tử thuộc cùng một loại, dẫn đến độ pha trộn thấp nhất Trong ví dụ cụ thể, tập ví dụ sẽ thuần nhất nếu tất cả các ví dụ đều có giá trị phân loại giống nhau.
Khi tập ví dụ thuần nhất, ta có thể xác định chắc chắn giá trị phân loại của một ví dụ trong tập đó, tức là thông tin về tập là cao nhất Ngược lại, khi tập ví dụ có độ pha trộn cao, với số lượng ví dụ có cùng giá trị phân loại tương đương, việc dự đoán giá trị phân loại của một ví dụ trở nên khó khăn, dẫn đến lượng thông tin thu được là ít nhất Mục tiêu là chọn thuộc tính để phân chia tập ví dụ ban đầu thành các tập thuần nhất một cách nhanh chóng Để thực hiện điều này, cần có một phép đo để đánh giá độ thuần nhất của tập hợp, từ đó so sánh hiệu quả giữa các tập ví dụ Phần tiếp theo sẽ trình bày công thức tính entropy cho một tập hợp.
Entropy đo tính thuần nhất của tập ví dụ
Khái niệm entropy trong Lý thuyết thông tin được định nghĩa là số lượng bít kỳ vọng cần thiết để mã hóa thông tin về lớp của một thành viên được chọn ngẫu nhiên từ tập S Trong trường hợp tối ưu, mã hóa sẽ có độ dài ngắn nhất Theo lý thuyết này, mã có độ dài tối ưu được xác định bằng cách sử dụng mã gán, với độ dài là log2p bits cho thông điệp có xác suất p.
Trong trường hợp S là tập ví dụ, thì thành viên của S là một ví dụ, mỗi ví dụ thuộc một lớp hay có một giá trị phân loại
Entropy có giá trị nằm trong khoảng [0 1],
Entropy(S) = 0 tập ví dụ S chỉ toàn ví dụ thuộc cùng một loại, hay
Entropy(S) = 1 tập ví dụ S có các ví dụ thuộc các loại khác nhau với độ pha trộn là cao nhất
Entropy (S) nằm trong khoảng 0 đến 1, cho thấy tập ví dụ S có sự phân bố không đồng đều giữa các loại khác nhau Để dễ hiểu, chúng ta chỉ xem xét trường hợp các ví dụ trong S thuộc hai loại: âm (-) và dương (+).
Hình 2.1 Chức năng entropy liên quan đến sự phân loại
• Tập S là tập dữ liệu rèn luyện, trong đó thuộc tính phân loại có hai giá trị, giả sử là âm (-) và dương (+)
• p+ là phần các ví dụ dương trong tập S
• p- là phần các ví dụ âm trong tập S
Khi đó, entropy đo độ pha trộn của tập S theo công thức sau:
Nếu tập S chứa nhiều hơn hai loại ví dụ, với c là số lượng giá trị phân loại, thì công thức entropy tổng quát sẽ được áp dụng để tính toán độ không chắc chắn trong tập dữ liệu.
Lượng thông tin thu được đo mức độ giảm entropy mong đợi
Entropy là một chỉ số phản ánh mức độ pha trộn của một tập hợp ví dụ Để đánh giá hiệu suất phân loại các ví dụ dựa trên một thuộc tính, chúng ta sử dụng một phép đo gọi là lượng thông tin thu được Phép đo này thể hiện sự giảm entropy mong đợi khi phân chia các ví dụ theo thuộc tính đó.
Một cách chính xác hơn, Gain(S,A) của thuộc tính A, trên tập S, được định nghĩa như sau:
Trong đó Values(A) là tập hợp có thể có các giá trị của thuộc tính A, và
Sv là tập con của S chứa các ví dụ có thuộc tính A mang giá trị v.
Tìm kiếm không gian giả thuyết trong ID3
ID3 là một phương pháp học quy nạp, tìm kiếm giả thuyết phù hợp với tập dữ liệu rèn luyện trong không gian giả thuyết, cụ thể là các cây quyết định Quá trình này sử dụng thuật toán leo-núi, bắt đầu từ cây rỗng và dần dần khám phá các giả thuyết phức tạp hơn để phân loại chính xác các ví dụ rèn luyện Hàm đánh giá trong quá trình tìm kiếm được xác định bằng cách đo lường lượng thông tin thu được.
Từ cách nhìn ID3 như là một giải thuật tìm kiếm trong không gian các giả thuyết, ta có một số nhận xét như sau:
Không gian giả thuyết của các cây quyết định trong thuật toán ID3 bao gồm tất cả các cây quyết định có thể được tạo ra từ các thuộc tính trong tập huấn luyện Điều này đảm bảo rằng không gian mà ID3 khảo sát sẽ chứa cây quyết định tối ưu cần tìm.
Trong quá trình tìm kiếm, ID3 chỉ giữ một giả thuyết hiện tại, điều này khiến cho thuật toán không thể biểu diễn tất cả các cây quyết định khác nhau có khả năng phân loại chính xác dữ liệu hiện có.
Giải thuật ID3 thuần túy không có khả năng quay lui trong quá trình tìm kiếm, dẫn đến việc nó có thể gặp phải những hạn chế tương tự như giải thuật leo núi, cụ thể là hiện tượng hội tụ vào cực tiểu địa phương.
ID3 sử dụng toàn bộ ví dụ tại mỗi bước để đưa ra quyết định dựa trên thống kê, giúp kết quả tìm kiếm của nó ít bị ảnh hưởng bởi dữ liệu sai hoặc nhiễu.
Trong quá trình tìm kiếm, thuật toán ID3 thường ưu tiên xây dựng cây quyết định ngắn hơn, thay vì những cây dài Đây là đặc điểm thiên lệch quy nạp đặc trưng của ID3.
Đánh giá hiệu suất của cây quyết định
Một cây quyết định được tạo ra bởi ID3 được coi là hiệu quả nếu có khả năng phân loại chính xác các trường hợp tương lai, đặc biệt là những ví dụ không nằm trong tập dữ liệu rèn luyện Để đánh giá hiệu suất của cây quyết định, người ta sử dụng một tập ví dụ tách rời, gọi là tập kiểm tra (validation set), khác với tập dữ liệu rèn luyện Thông thường, dữ liệu có sẵn sẽ được chia thành hai phần: tập rèn luyện chiếm 2/3 số ví dụ và tập kiểm tra chiếm 1/3.
Ví dụ minh họa
Bài toán phân loại giúp xác định xem có nên đi chơi tennis dựa trên điều kiện thời tiết Giải thuật ID3 sẽ xây dựng cây quyết định từ một tập hợp các ví dụ cụ thể.
Day Outlook Temperature Humidity Wind PlayTennis
Dl Sunny Hot High Weak No
D2 Sunny Hot High Strong No
D3 Overcast Hot High Weak Yes
D4 Rain Mild High Weak Yes
D5 Rain Cool Normal Weak Yes
D6 Rain Cool Normal Strong No
D7 Overcast Cool Normal Strong Yes
D8 Sunny Mild High Weak No
D9 Sunny Cool Normal Weak Yes
Dl0 Rain Mild Normal Weak Yes
Dl1 Sunny Mild Normal Strong Yes
Dl2 Overcast Mild High Strong Yes
Dl3 Overcast Hot Normal Weak Yes
Dl4 Rain Mild High Strong No
Bảng 2.1 Tập dữ liệu ví dụ cho chơi Tennis
Tập dữ liệu này chứa 14 ví dụ về tình trạng thời tiết, với các thuộc tính như quang cảnh (Outlook), nhiệt độ (Temperature), độ ẩm (Humidity) và gió (Windy) Mỗi ví dụ có thuộc tính phân loại ‘chơi Tennis’ (PlayTennis), với hai giá trị là ‘Có’ (Yes) và ‘Không’ (No) Giá trị ‘Không’ chỉ ra rằng không chơi tennis trong điều kiện thời tiết đó, trong khi ‘Có’ nghĩa là có thể chơi tennis Thuộc tính ‘Chơi tennis’ được coi là thuộc tính đích (target attribute) và phân loại này chia tập dữ liệu thành hai lớp (classes).
Mỗi thuộc tính trong bài viết đều có một tập hợp giá trị hữu hạn Cụ thể, thuộc tính quang cảnh bao gồm ba giá trị: âm u (Overcast), mưa (Rain) và nắng (Sunny) Nhiệt độ được phân loại thành ba giá trị: nóng (Hot), mát (Cool) và ấm áp (Mild) Độ ẩm có hai giá trị là cao và thấp.
(High), TB (Normal) và gió có hai giá trị: mạnh (Strong), nhẹ (Weak) Các giá trị này chính là ký hiệu (symbol) dùng để biểu diễn bài toán
Giải thuật ID3 sử dụng tập dữ liệu rèn luyện để xây dựng một cây quyết định, giúp phân loại chính xác các ví dụ trong tập dữ liệu đó Mục tiêu là cây quyết định này cũng có khả năng phân loại đúng các ví dụ mới trong tương lai.
Hình 2.2 Cây quyết định thuật toán ID3 quy nạp
Trong cây quyết định, các nút đại diện cho việc kiểm tra một thuộc tính cụ thể, với mỗi giá trị của thuộc tính tương ứng với một nhánh Các nút lá thể hiện phân loại của các ví dụ trong nhánh, tức là giá trị của thuộc tính phân loại.
Sau khi thuật toán hoàn tất việc xây dựng cây quyết định, cây này sẽ được áp dụng để phân loại tất cả các ví dụ hoặc thể hiện trong tương lai.
Cây quyết định sẽ giữ nguyên cho đến khi thuật toán ID3 được áp dụng lại trên một tập dữ liệu huấn luyện khác Mỗi tập dữ liệu huấn luyện có thể tạo ra nhiều cây quyết định khác nhau, mỗi cây có khả năng phân loại chính xác tất cả các ví dụ trong tập đó Kích thước của các cây quyết định thay đổi tùy thuộc vào thứ tự kiểm tra các thuộc tính.
Values(Outlook) = Sunny, Overcast, Rain
= Entropy(S) – (5/14)Entropy(SSunny) – (4/14)Entropy(SOvercast) –
Values(Temperature) = Hot, Mild, Cool
= Entropy(S) – (4/14)Entropy(SHot) – (6/14)Entropy(SMild) –
= Entropy(S) – (7/14)Entropy(SHigh) – (7/14)Entropy(SNormal) Trong đó:
= Entropy(S) – (8/14)Entropy(SWeak) – (6/14)Entropy(SStrong) Trong đó:
Ta thu được kết quả:
Ta thấy giá trị Gain(S, Outlook) lớn nhất nên Outlook được chọn làm thuộc tính kiểm tra
Xác định thuộc tính tt1
Dl Sunny Hot High Weak No
D2 Sunny Hot High Strong No
D8 Sunny Mild High Weak No
D9 Sunny Cool Normal Weak Yes
Dl1 Sunny Mild Normal Strong Yes
Values(Temperature) = Hot, Mild, Cool
= Entropy(SSunny) – (2/5)Entropy(SHot) – (2/5)Entropy(SMild) –
Entropy(SHot) = – (0/2)log2(0/2) – (2/2)log2(2/2) = 0 + 0 = 0 Entropy(SMild) = – (1/2)log2(1/2) – (1/2)log2(1/2)
= Entropy(SSunny) – (3/5)Entropy(SHigh) – (2/5)Entropy(SNormal)
= Entropy(SSunny) – (3/5)Entropy(SWeak) – (2/5)Entropy(SStrong)
Ta thu được kết quả:
Ta thấy giá trị Gain(SSunny, Humidity) lớn nhất nên Humidity được chọn làm thuộc tính kiểm tra
Hình 2.3 Một phần cây quyết định sinh ra từ bước đầu ID3
Xác định thuộc tính tt2
D4 Rain Mild High Weak Yes
D5 Rain Cool Normal Weak Yes
D6 Rain Cool Normal Strong No
D10 Rain Mild Normal Weak Yes
Dl4 Rain Mild High Strong No
Bảng 3.2 Xác định thuộc tính tt2
= Entropy(SRain) – (3/5)Entropy(SMild) – (2/5)Entropy(SCool)
= Entropy(SRain) – (2/5)Entropy(SHigh) – (3/5)Entropy(SNormal) Trong đó:
= Entropy(SRain) – (3/5)Entropy(SWeak) – (2/5)Entropy(SStrong) Trong đó:
Ta thu được kết quả:
Ta thấy giá trị Gain(SRain, Wind) lớn nhất nên Wind được chọn làm thuộc tính kiểm tra
Ta được cây quyết định hoàn chỉnh như sau
Hình 3.4 Cây quyết định cần tìm.
Dùng Java Applet: DecisionTreeApplet_3.20 để mô phỏng Cây quyết định. Chạy Applet:
Vào Menu Dataset -> Load Dataset -> Datasets/PlayTennis
Chọn độ lợi thuật toán:
Vào Menu Algorithm -> Set Splitting Function -> Gain
Và Sau đó bắt đầu chạy thuật toán Decision Tree:
Kết thúc thuật toán ta có kết quả Cây quyết định của tập dữ liệu PlayTennis như sau:
Ngoài ra còn có một số ứng dụng khác để Demo cho cây quyết định như :Orange Canvas, Weka,
ID3 áp dụng các ví dụ rèn luyện theo xác suất, giúp giảm thiểu tác động của dữ liệu nhiễu Do đó, tập dữ liệu rèn luyện có thể chấp nhận lỗi hoặc thiếu giá trị ở một số thuộc tính.
ID3 thường được bàn luận về các vấn đề như cách ngăn chặn hiện tượng cây quyết định bị ảnh hưởng quá mức (overfitting) từ dữ liệu huấn luyện Việc này giúp cây quyết định có khả năng tổng quát tốt hơn và phân loại chính xác cho những trường hợp chưa từng gặp.
Có nhiều giải pháp để cải thiện mô hình, chẳng hạn như cắt tỉa cây quyết định sau quá trình học hoặc điều chỉnh các luật sau khi chuyển đổi cây thành dạng luật Một vấn đề cần lưu ý là cách xử lý các thuộc tính có giá trị liên tục.
Giải quyết các vấn đề này dẫn đến việc sinh ra nhiều thế hệ sau của ID3, một giải thuật nổi bật trong số đó là C4.5 (Quinlan 1996)
Các kỹ thuật như bagging và boosting được phát triển để thao tác trên dữ liệu, nhằm tạo ra các cây quyết định đa dạng từ cùng một tập dữ liệu huấn luyện.