Để phân lớp mẫu dữ liệu chưa biết, giá trị các thuộc tính của mẫu đượcđưa vào kiểm tra trên cây quyết định.. Trong các thuật toán cơ sở xây dựng cây quyết định chỉ chấp nhận cácthuộc tín
Trang 1TRƯỜNG ĐẠI HỌC MỎ-ĐỊA CHẤT
KHOA CÔNG NGHỆ THÔNG TIN
-
-MÔN HỌC: An toàn và bảo mật hệ thống thông tin
Mô hình cây quyết định áp dụng cho hệ thống tuyển sinh trường đại học
Giảng viên hướng dẫn:
Sinh viên thực hiện:
Nhóm môn học: 200
1
Trang 2LỜI NÓI ĐẦU
Trước đây khi công nghệ máy tính chưa phát triển, khi nói đến vấn đề an toàn bảo mật thông tin, chúng ta thường hay nghĩ đến các biện pháp nhằm đảm bảo cho thông tin được trao đổi hay cất giữ một cách an toàn và bí mật, chẳng hạn làcác biện pháp như: đóng dấu và ký niêm phong một bức thư để biết rằng lá thư
có được chuyển nguyên vẹn đến người nhận hay không, dùng mật mã mã hóa thông điệp để chỉ có người gửi và người nhận hiểu được thông điệp, lưu giữ tài liệu trong các két sắt có khóa tại nơi được bảo vệ nghiêm ngặt
Ngày nay với sự phát triển của khoa học công nghệ, đặc biệt là sự phát triển củainternet, việc sử dụng máy tính và điện thoại cá nhân càng trở lên rộng rãi, dẫn đến càng nhiều thông tin được lưu trữ trên máy tính và gửi đi trên mạng internet Do đó nhu cầu về an toàn và bảo mật thông tin trên máy tính càng nhiều và việc sử dụng mật mã mã hóa càng được phổ biến Trong bài tập lớn này, nhóm em thực hiện xây dựng thuật toán RSA Bài tập lớn này gồm 3 chương:
Chương 1: Tổng quan
Chương 2: Thuật toán RSA
Chương 3: Kết luận và định hướng
Em xin cảm ơn thầy Dương Chí Thiện, giảng viên hướng dẫn đã rất nhiệt tình chỉ bảo chúng em hoàn thành bài tập lớn này, cũng như các thầy cô khác trong
bộ môn, những người đã tận tâm, nhiệt tình giảng dạy trong suốt một kỳ qua để
em có được những kiến thức cơ bản về ngành học cũng như giúp em hoàn thiện được bài tập lớn này
Trong quá trình làm bài tập lớn, mặc dù đã cố gắng hết mình xong khảnăng hiểu biết của bản thân còn hạn chế và không tránh khỏi thiếu sót Rấtmong sự góp ý của quý thầy cô và các bạn để bài tập lớn này được hoàn chỉnhhơn
Xin chân thành cảm ơn!
2
Trang 3MỤC LỤC
LỜI CẢM ƠN
Danh mục hình ảnh
Danh mục bảng
Chương 1: Cây quyết định và thuật toán xây dựng cây quyết định
1.1 Tổng quan về cây quyết định 6
1.1.1 Định nghĩa 6
1.1.2 Thiết kế cây quyết định 7
1.1.3 Phương pháp tổng quát xây dựng cây quyết định 9
1.1.4 Ứng dụng cây quyết định trong khai phá dữ liệu 10
1.1.5 Một số vấn đề khi sử dụng cây quyết định 12
1.1.6 Đánh giá cây quyết định trong lĩnh vực khai phá dữ liệu 13
1.2 Thuật toán xây dựng cây quyết định dựa vào Entropy 15
1.2.1 Tiêu chí chọn thuộc tính phân lớp 15
1.2.2 Thuật toán ID3 16
1.2.3 Ví dụ về thuật toán ID3 18
1.2.4 Tổng quá thuật toán ID3 24
Chương 2: Đánh giá mô hình
Chương 3: Mô hình cây quyết định áp dụng cho hệ thống tuyển sinh trường đại học
3.1 Tập dữ liệu 29
3.2 Kết quả của mô hình cây quyết định 30
3.3 Cây quyết định và các quy tắc rút ra từ cây quyết định 32
Tài liệu tham khảo
4
Trang 4Danh mục hình ảnh
6
Trang 5Chương 1: Tổng Quan
Cây quyết định là công cụ dùng để phân lớp các dữ liệu, nó có cấutrúc cây Mỗi cây quyết định là một sự tượng trưng cho một sự quyết địnhcủa một lớp các dữ kiện nào đó Mỗi nút trong cây là tên của một lớp haymột phép thử thuộc tính cụ thể nào đó, phép thử này phân chia khônggian trạng thái các dữ kiện tại nút đó thành các kết quả có thể đạt đượccủa phép thử Mỗi tập con được phân chia của phép thử là không gian concủa các sự kiện, nó tương ứng với một vấn đề con của sự phân lớp Cáccây quyết định được dùng để hỗ trợ quá trình ra quyết định
1.1.1 Định nghĩa
Cây quyết định là một cây mà mỗi nút của cây là:
- Nút lá hay còn gọi là nút trả lời biểu thị cho một lớp các trườnghợp mà nhãn của nó là tên của lớp
- Nút không phải là nút lá hay còn gọi là nút trong, nút định phépkiểm tra các thuộc tính, nhãn của nút này là tên của thuộc tính và có mộtnhánh nối nút này đến các cây con ứng với mỗi kết quả có thể có phépthử Nhãn của nhánh này là các giá trị của thuộc tính đó Nút trên cùnggọi là nút gốc
Hình 1 1 Mô tả chung về cây quyết định
7
Trang 6Để phân lớp mẫu dữ liệu chưa biết, giá trị các thuộc tính của mẫu đượcđưa vào kiểm tra trên cây quyết định Mỗi mẫu tương ứng có một đường đi
từ gốc đến lá và lá biểu diễn dự đoán giá trị phân lớp của mẫu đó
Các công việc cụ thể của tiền xử lý dữ liệu bao gồm những công việcnhư:
- Filtering Attributes: Chọn các thuộc tính phù hợp với mô hình
- Filtering samples: Lọc các mẫu (instances, patterns) dữ liệu cho mô hình
- Transformation: Chuyển đổi dữ liệu cho phù hợp với các mô hình như chuyểnđổi dữ liệu từ numeric sang nomial
8
Trang 7- Discretization (rời rạc hóa dữ liệu): Nếu bạn có dữ liệu liên tục nhưng có một sốthuật toán chỉ áp dụng cho các dữ liệu rời rạc (như ID3, ADTDA,…) thì bạnphải thực hiện việc rời rạc hóa dữ liệu.
1.1.2.2 Tạo cây
Cây quyết định được tạo thành bằng cách lần lượt chia (đệ quy) mộttập dữ liệu thành các tập dữ liệu con, mỗi tập con được tạo thành chủ yếu từcác phần tử của cùng một lớp
Các nút (không phải là nút lá) là các điểm phân nhánh của cây Việcphân nhánh tại các nút có thể dựa trên việc kiểm tra một hay nhiều thuộc tính
để xác định việc phân chia dữ liệu
1.1.2.3.Tiêu chuẩn tách
Việc lựa chọn chủ yếu trong các thuật toán phân lớp dựa vào câyquyết định là chọn thuộc tính nào để kiểm tra tại mỗi nút của cây Chúng tamong muốn chọn thuộc tính sao cho việc phân lớp tập mẫu là tốt nhất Nhưvậy chúng ta cần phải có một tiêu chuẩn để đánh giá vấn đề này Có rất nhiềutiêu chuẩn được đánh giá được sử dụng đó là:
+ Lượng thông tin thu thêm IG (Information Gain, thuật toán ID3 củaJohn Ross Quilan )
+ Độ phụ thuộc của thuộc tính quyết định vào thuộc tính điều kiệntheo nghĩa lí thuyết tập thô của Zdzisław Pawlak
Các tiêu chuẩn trên sẽ được trình bày trong các thuật toán xây dựngcây quyết định ở các phần dưới đây
9
Trang 8giảm nhiễu, số các mẫu trong một nút, tỉ lệ các mẫu trong nút, hay chiều sâucủa cây,
1.1.2.5.Tỉa cây
Trong giai đoạn tạo cây chúng ta có thể giới hạn việc phát triển củacây bằng số bản tin tối thiểu tại mỗi nút, độ sâu tối đa của cây hay giá trị tốithiểu của lượng thông tin thu thêm
Sau giai đoạn tạo cây chúng ta có thể dùng phương pháp “Độ dài mô
tả ngắn nhất” (Minimum Description Length) hay giá trị tối thiểu của IG để tỉacây (chúng ta có thể chọn giá trị tối thiểu của IG trong giai đoạn tạo cây đủnhỏ để cho cây phát triển tương đối sâu, sau đó lại nâng giá trị này lên để tỉacây)
1.1.3 Phương pháp tổng quát xây dựng cây quyết định
Quá trình xây dựng một cây quyết định cụ thể bắt đầu bằng một nút rỗngbao gồm toàn bộ các đối tượng huấn luyện và làm như sau:
1 Nếu tại nút hiện thời, tất cả các đối tượng huấn luyện đều thuộc vàomột lớp nào đó thì cho nút này thành nút lá có tên là nhãn lớpchung của các đối tượng
2 Trường hợp ngược lại, sử dụng một độ đo, chọn thuộc tính điềukiện phân chia tốt nhất tập mẫu huấn luyện có tại nút
3 Tạo một lượng nút con của nút hiện thời bằng số các giá trị khácnhau của thuộc tính được chọn Gán cho mỗi nhánh từ nút cha đếnnút con một giá trị của thuộc tính rồi phân chia các các đối tượnghuấn luyện vào các nút con tương ứng
4 Nút con t được gọi là thuần nhất, trở thành lá, nếu tất cả các đốitượng mẫu tại đó đều thuộc vào cùng một lớp Lặp lại các bước 1-3đối với mỗi nút chưa thuần nhất
Trong các thuật toán cơ sở xây dựng cây quyết định chỉ chấp nhận cácthuộc tính tham gia vào quá trình phân lớp có giá trị rời rạc, bao gồm cảthuộc tính được dùng để dự đoán trong quá trình học cũng như các thuộc tínhđược sử dụng để kiểm tra tại mỗi nút của cây Do đó trong trường hợp các
10
Trang 9thuộc tính có giá trị liên tục có thể dễ dàng loại bỏ bằng cách phân mảnh tậpgiá trị liên tục của thuộc tính thành một tập rời các khoảng.
Việc xây dựng cây quyết định được tiến hành một cách đệ qui, lần lượt
từ nút gốc xuống tới tận các nút lá Tại mỗi nút hiện hành đang xét, nếu kiểmtra thấy thoả điều kiện dừng: thuật toán sẽ tạo nút lá Nút này được gán mộtgiá trị của nhãn lớp tùy điều kiện dừng được thoả mãn Ngược lại, thuật toántiến hành chọn điểm chia tốt nhất theo một tiêu chí cho trước, phân chia dữliệu hiện hành theo điều kiện chia này
Sau bước phân chia trên, thuật toán sẽ lặp qua tất cả các tập con (đãđược chia) và tiến hành gọi đệ qui như bước đầu tiên với dữ liệu chính là cáctập con này
Trong bước 3, tiêu chuẩn sử dụng lựa chọn thuộc tính được hiểu là một
số đo độ phù hợp, một số đo đánh giá độ thuần nhất, hay một quy tắc phânchia tập mẫu huấn luyện
1.1.4 Ứng dụng cây quyết định trong khai phá dữ liệu
Sau khi đã xây dựng thành công cây quyết định ta sử dụng kết quả từ
mô hình cây quyết định đó Đây là bước sử dụng mô hình để phân lớp dữ liệuhoặc rút ra các tri thức trong phương pháp khai phá dữ liệu bằng phươngpháp phân lớp
1.1.4.1.Xác định lớp của các mẫu mới
Trên cơ sở đã biết giá trị của các thuộc tính của các mẫu X1, X2, …,
Xn ta xác định thuộc tính quyết định (hay phân lớp) Y của đối tượng đó (cóthể dùng kỹ thuật này để nhận dạng mẫu, dự báo, …)
11
Trang 10Hình 1 3 Mô hình phân lớp các mẫu mới
1.1.4.2.Rút ra các tri thức hay luật từ cây
Với mục đích và nhiệm vụ chính của việc khai phá dữ liệu là pháthiện ra các quy luật, các mô hình từ trong CSDL Từ mô hình thu được ta rút
ra các tri thức hay các quy luật dưới dạng cây hoặc các luật dưới dạng “If …Then…” Hai mô hình trên là tương đương, chúng có thể được chuyển đổiqua lại giữa các mô hình đó với nhau
Ví dụ 1.1.4.2
Một trong các luật rút ra từ cây trong ví dụ 1.1.4.2 là +Luật 1:IF(Humidity: high) AND (Outlook: rainy) THEM (=> Quyết định: False)+Luật 2: IF(Humidity: high) AND (Outlook: sunny) THEM (=>Quyết định: False)
+Luật 3: IF(Humidity: high) AND (Outlook: Overcast) THEN (=>Quyết định: True) …
Từ đây ta sử dụng các luật này để hỗ trợ quá trình ra các quyết định,
dự đoán, …
12
Trang 111.1.5 Một số vấn đề khi sử dụng cây quyết định.
Các vấn đề đặc thù trong khi học hay phân lớp dữ liệu bằng câyquyết định gồm: xác định độ sâu để phát triển cây quyết định, xử lý vớinhững thuộc tính liên tục, chọn phép đo lựa chọn thuộc tính thích hợp,
sử dụng tập dữ liệu đào tạo với những giá trị thuộc tính bị thiếu, sử dụngcác thuộc tính với những chi phí khác nhau, và cải thiện hiệu năng tínhtoán Sau đây sẽ đề cập đến những vấn đề chính đã được giải quyếttrong các thuật toán phân lớp dựa trên cây quyết định
1.1.5.1.Đủ dữ liệu
Có thể hiểu đây là hiện tượng cây quyết định chứa một số đặc trưngriêng của tập dữ liệu đào tạo, nếu lấy chính tập dữ liệu huấn luyện đểthử lại mô hình 18 phân lớp thì độ chính xác sẽ rất cao, trong khi đối vớinhững dữ liệu tương lai khác nếu sử dụng cây đó lại không đạt được độchính xác như vậy
Quá vừa dữ liệu là một khó khăn đáng kể đối với học bằng câyquyết định và những phương pháp học khác Đặc biệt khi số lượng ví dụtrong tập dữ liệu đào tạo quá ít, hay có nhiễu dữ liệu
Có hai phương pháp tránh “quá vừa” dữ liệu trong cây quyết định:
1 Dừng phát triển cây sớm hơn bình thường, trước khi đạt tớiđiểm phân lớp hoàn hảo tập dữ liệu đào tạo Với phươngpháp này, một thách thức đặt ra là phải ước lượng chính xácthời điểm dừng phát triển cây
2 Cho phép cây có thể “quá vừa” dữ liệu, sau đó sẽ cắt, tỉa cây.Mặc dù phương pháp thứ nhất có vẻ trực tiếp hơn, nhưng vớiphương pháp thứ hai thì cây quyết định được sinh ra được thực nghiệmchứng minh là thành công hơn trong thực tế Hơn nữa việc cắt tỉa câyquyết định còn giúp tổng quát hóa, và cải thiện độ chính xác của môhình phân lớp Dù thực hiện phương pháp nào thì vấn đề mấu chốt ở đây
là tiêu chuẩn nào được sử dụng để xác định kích thước hợp lý của câycuối cùng
1.1.5.2.Thao tác với thuộc tính liên tục
13
Trang 12Việc thao tác với thuộc tính liên tục trên cây quyết định hoàn toànkhông đơn giản như với thuộc tính rời rạc.
Thuộc tính rời rạc có tập giá trị (domain) xác định từ trước và là tậphợp các giá trị rời rạc Ví dụ loại ô tô là một thuộc tính rời rạc với tậpgiá trị là: {xe tải, xe khách, xe con, taxi}.Việc phân chia dữ liệu dựa vàophép kiểm tra giá trị của thuộc tính rời rạc được chọn tại một ví dụ cụthể có thuộc tập giá trị của thuộc tính đó hay không: value (A) X với∈
X domain (A) Đây là phép kiểm tra logic đơn giản, không tốn nhiều⊂tài nguyên tính toán Trong khi đó, với thuộc tính liên tục (thuộc tínhdạng số) thì tập giá trị là không xác định trước Chính vì vậy, trong quátrình phát triển cây, cần sử dụng kiểm tra dạng nhị phân: value (A) ≤ θ.Với θ là hằng số ngưỡng (threshold) được lần lượt xác định dựa trêntừng giá trị riêng biệt hay từng cặp giá trị liền nhau (theo thứ tự đã sắpxếp) của thuộc tính liên tục đang xem xét trong tập dữ liệu đào tạo Điều
đó có nghĩa là nếu thuộc tính liên tục A trong tập dữ liệu đào tạo có dgiá trị phân biệt thì cần thực hiện d-1 lần kiểm tra value (A) ≤ θi với i =1 d-1 để tìm ra ngưỡng θbest tốt nhất tương ứng với thuộc tính đó Việcxác định giá trị của θ và tiêu chuẩn tìm θ tốt nhất tùy vào chiến lược củatừng thuật toán Trong thuật toán C4.5, θi được chọn là 19 giá trị trungbình của hai giá trị liền kề nhau trong dãy giá trị đã sắp xếp
1.1.6 Đánh giá cây quyết định trong lĩnh vực khai phá dữ liệu
1.1.6.1.Sức mạnh của cây quyết định
Cây quyết định có 5 sức mạnh chính sau [5]:
1 Khả năng sinh ra các quy tắc hiểu được Cây quyết định có khảnăng sinh ra các quy tắc có thể chuyển đổi được sang dạng tiếng Anh,hoặc các câu lệnh SQL Đây là ưu điểm nổi bật của kỹ thuật này Thậmchí với những tập dữ liệu lớn khiến cho hình dáng cây quyết định lớn vàphức tạp, việc đi theo bất cứ đường nào trên cây là dễ dàng theo nghĩaphổ biến và rõ ràng Do vậy sự giải thích cho bất cứ một sự phân lớp hay
dự đoán nào đều tương đối minh bạch
14
Trang 132 Khả năng thực thi trong những lĩnh vực hướng quy tắc Điều này
có nghe có vẻ hiển nhiên, nhưng quy tắc quy nạp nói chung và cây quyếtđịnh nói riêng là lựa chọn hoàn hảo cho những lĩnh vực thực sự là cácquy tắc Rất nhiều lĩnh vực từ di truyền tới các quá trình công nghiệp thực
sự chứa các quy tắc ẩn, không rõ ràng do khá phức tạp và tối nghĩa bởinhững dữ liệu nhiễu loạn Cây quyết định là một sự lựa chọn tự nhiên khichúng ta nghi ngờ sự tồn tại của các quy tắc ẩn, không rõ ràng
3 Dễ dàng tính toán trong khi phân lớp Mặc dù như chúng ta đãbiết, cây quyết định có thể chứa nhiều định dạng, nhưng trong thực tế, cácthuật toán sử dụng để tạo ra cây quyết định thường tạo ra những cây với
số phân nhánh thấp và các thử đơn giản tại từng nút Những thử điển hìnhlà: so sánh số, xem xét phần tử của một tập hợp, và các phép nối đơngiản Khi thực thi trên máy tính, những thử này chuyển thành các toánhàm logic và số nguyên là những toán hạng thực thi nhanh và không đắt.Đây là một ưu điểm quan trọng bởi trong môi trường thương mại, các môhình dự đoán thường được sử dụng để phân lớp hàng triệu thậm trí hàng tỉbản ghi
4 Khả năng xử lý với cả thuộc tính liên tục và thuộc tính rời rạc.Cây quyết định xử lý “tốt” như nhau với thuộc tính liên tục và thuộc tínhrời rạc Tuy rằng với thuộc tính liên tục cần nhiều tài nguyên tính toánhơn Những thuộc tính rời rạc đã từng gây ra những vấn đề với mạng nơron nhân tạo và các kỹ thuật thống kê lại thực sự dễ dàng thao tác với cáctiêu chuẩn phân chia trên cây quyết định: mỗi nhánh tương ứng với từngphân tách tập dữ 20 liệu theo giá trị của thuộc tính được chọn để pháttriển tại nút đó Các thuộc tính liên tục cũng dễ dàng phân chia bằng việcchọn ra một số gọi là ngưỡng trong tập các giá trị đã sắp xếp của thuộctính đó Sau khi chọn được ngưỡng tốt nhất, tập dữ liệu phân chia theothử nhị phân của ngưỡng đó
5 Thể hiện rõ ràng những thuộc tính tốt nhất Các thuật toán xâydựng cây quyết định đưa ra thuộc tính mà phân chia tốt nhất tập dữ liệu
15
Trang 14đào tạo bắt đầu từ nút gốc của cây Từ đó có thể thấy những thuộc tínhnào là quan trọng nhất cho việc dự đoán hay phân lớp
1.1.6.2.Nhược điểm của cây quyết định
Dù có những sức mạnh nổi bật trên, cây quyết định vẫn khôngtránh khỏi có những điểm yếu Đó là cây quyết định không thích hợp lắmvới những bài toán với mục tiêu là dự đoán giá trị của thuộc tính liên tụcnhư thu nhập, huyết áp hay lãi xuất ngân hàng… Cây quyết định cũngkhó giải quyết với những dữ liệu thời gian liên tục nếu không bỏ ra nhiềucông sức cho việc đặt ra sự biểu diễn dữ liệu theo các mẫu liên tục
1 Dễ xảy ra lỗi khi có quá nhiều lớp Một số cây quyết định chỉthao tác với những lớp giá trị nhị phân dạng yes/no hay accept/reject Sốkhác lại có thể chỉ định các bản ghi vào một số lớp bất kỳ, nhưng dễ xảy
ra lỗi khi số ví dụ đào tạo ứng với một lớp là nhỏ Điều này xẩy ra càngnhanh hơn với cây mà có nhiều tầng hay có nhiều nhánh trên một nút
2 Chi phí tính toán đắt để đào tạo Điều này nghe có vẻ mâuthuẫn với khẳng định ưu điểm của cây quyết định ở trên Nhưng quá trìnhphát triển cây quyết định đắt về mặt tính toán Vì cây quyết định có rấtnhiều nút trong trước khi đi đến lá cuối cùng Tại từng nút, cần tính một
độ đo (hay tiêu chuẩn phân chia) trên từng thuộc tính, với thuộc tính liêntục phải thêm thao tác xắp xếp lại tập dữ liệu theo thứ tự giá trị của thuộctính đó Sau đó mới có thể chọn được một thuộc tính phát triển và tươngứng là một phân chia tốt nhất Một vài thuật toán sử dụng tổ hợp cácthuộc tính kết hợp với nhau có trọng số để phát triển cây quyết định Quátrình cắt cụt cây cũng “đắt” vì nhiều cây con ứng cử phải được tạo ra và
so sánh
1.2 Thuật toán xây dựng cây quyết định dựa vào Entropy
1.2.1 Tiêu chí chọn thuộc tính phân lớp
Tiêu chí để đánh giá tìm điểm chia là rất quan trọng, chúng đượcxem là một tiêu chuẩn “heuristic” để phân chia dữ liệu Ý tưởng chínhtrong việc đưa ra các tiêu chí trên là làm sao cho các tập con được phân
16
Trang 15chia càng trở nên “trong suốt” (tất cả các bộ thuộc về cùng một nhãn) càngtốt.
Thuật toán dùng độ đo lượng thông tin thu thêm (information IG IG) để xác định điểm chia Độ đo này dựa trên cơ sở lý thuyết thông tincủa nhà toán học Claude Shannon, độ đo này được xác như sau:
-Xét bảng quyết định DT = (U, C {d} ), số giá trị (nhãn lớp) có thểcủa d là k Khi đó Entropy của tập các đối tượng trong DT được định nghĩabởi:
IG(U , c)=Entropy(U)−∑
v ∈V c
|U v|
|U|Entropy (U v)trong đó Vc là tập các giá trị của thuộc tính c, Uv là tập các đốitượng trong DT có giá trị thuộc tính c bằng v IG(U, c) được John RossQuinlan [9] sử dụng làm độ đo lựa chọn thuộc tính phân chia dữ liệu tạimỗi nút trong thuật toán xây dựng cây quyết định ID3 Thuộc tính đượcchọn là thuộc tính cho lượng thông tin thu thêm lớn nhất
1.2.2 Thuật toán ID3
Thuật toán ID3 – Iterative Dichotomiser 3 là thuật toán dùng để xâydựng cây quyết định được John Ross Quinlan trình bày Ý tưởng chính củathuật toán ID3 là để xây dựng cây quyết định bằng cách ứng dụng từ trênxuống (TopDown), bắt đầu từ một tập các đối tượng và các thuộc tính của
nó Tại mỗi nút của cây một thuộc tính được kiểm tra, kết quả của phépkiểm tra này được sử dụng để phân chia tập đối tượng theo kết quả kiểmtra trên Quá trình này được thực hiện một cách đệ quy cho tới khi tập đốitượng trong cây con được sinh ra thuần nhất theo một tiêu chí phân lớp nào
17
Trang 16đó, hay các đối tượng đó thuộc cùng một dạng giống nhau nào đó Các lớphay các dạng này được gọi là nhãn của nút lá của cây, còn tại mỗi nútkhông phải là nút lá thì nhãn của nó là tên thuộc tính được chọn trong sốcác thuộc tính được dùng để kiểm tra có giá trị IG lớn nhất Đại lượng IGđược tính thông qua hàm Entropy Như vậy, IG là đại lượng được dùng đểđưa ra độ ưu tiên cho thuộc tính nào được chọn trong quá trình xây dựngcây quyết định.
Giải mã thuật toán ID3 như sau:
Dữ liệu vào: Bảng quyết định DT = (U, C {d})
Dữ liệu ra: Mô hình cây quyết định
Function Create_tree (U, C, {d})
Begin
If tất cả các mẫu thuộc cùng nhãn lớp di then
return một nút lá được gán nhãn di
else if C = null then
return nút lá có nhãn dj là lớp phổ biến nhất trong DT else begin
bestAttribute:= getBestAttribute(U, C); // Chọn thuộc tính tốt nhất để chia 22
C := C- {bestAttribute};
//xóa bestAttribute khỏi tập thuộc tính Với mỗi giá trị v bestAttributein Begin
Uv := [U]v ;//Uv là phân hoạch của U theo thuộc tính //bestAttribute có giá trị là v
ChildNode:=Create_tree(UV, C, {d});
18