MỤC LỤC
Do vậy cùng với một tập mẫu dữ liệu huấn luyện nếu áp dụng thuật toán CLS với thứ tự chọn thuộc tính triển khai cây khác nhau, sẽ cho ra các cây có hình dạng khác nhau. - Cho tập dữ liệu S gồm có n thuộc tính Ai(i=1,2…n) giá trị Information của thuộc tính Ai ký hiệu là Information(Ai) được xác định bởi công thức. Trong quá trình xây dựng cây quyết định theo thuật toán ID3 tại mỗi bước triển khai cây, thuộc tính được chọn để triển khai là thuộc tính có giá trị Gain lớn nhất.
Với việc tính toán giá trị Gain để lựa chọn thuộc tính tối ưu cho việc triển khai cây, thuật toán ID3 được xem là một cải tiến của thuật toán CLS. Thuật toán C4.5 là một thuật toán được cải tiến từ thuật toán ID3 với việc cho phép xử lý trên tập dữ liệu có các thuộc tính số (numeric atributes) và và làm việc được với tập dữ liệu bị thiếu và bị nhiễu. Để thu thập được giá trị Entropy gain của tất cả các phép thử nhị phân một cách hữu hiệu ta tiến hành xắp xếp các dữ liệu theo giá trị của thuộc tính liên tục đó bằng thuật toán Quicksort.
Giả sử T là một tập hợp gồm các mẫu cần được phân loại, X là phép kiểm tra theo thuộc tính L, U là số lượng các giá trị bị thiếu của thuộc tính L. Thuật toán này có sử dụng kỹ thuật tiền xử lý phân loại(Pre sorting) trước khi xây dựng cây, do đó giải quyết được vấn đề bộ nhớ cho thuật toán ID3. Thuật toán SLIQ có thể phân lớp rất hiệu quả đối với các tập dữ liệu lớn và không phụ thuộc vào số lượng lớp, số lượng thuộc tính và số lượng mẫu trong tập dữ liệu.
Thuật toán SLIQ yêu cầu tại một thời điểm có một danh sách lớp và chỉ một danh sách thuộc tính được lưu trữ trong bộ nhớ của máy tính, các danh sách còn lại lưu trên đĩa. Qua tìm hiểu các thuật toán xây dựng cây quyết định ở trên, ta thấy việc xây dựng cây bằng cách phát triển nhánh cây đầy đủ theo chiều sâu để phân lớp hoàn toàn các mẫu huấn luyện; như thuật toán CLS và thuật toán ID3 đôi khi gặp khó khăn trong các trường hợp dữ liệu bị nhiễu (Noisy Data) hoặc dữ liệu bị thiếu (Missing Data) không đủ để đại diện cho một quy luật; tức là tạo ra các nút có số mẫu rất nhỏ. Trong trường hợp này, nếu thuật toán vẫn cứ phát triển cây thì ta sẽ dẫn đến một tình huống mà ta gọi là tình trạng "Over fitting" trong cây quyết định.
Chiến thuật tiến cắt tỉa nghĩa là sẽ dừng sớm việc phát triển cây trước khi nó vươn đến điểm mà việc phân lớp các mẫu huấn luyện được hoàn thành. Tuy nhiên thuật toán này cũng chưa giải quyết được về vấn đề thuộc tính số, liên tục, số lượng các thuộc tính còn bị hạn chế và giải quyết hạn chế với vấn đề dữ liệu bị thiếu hoặc bị nhiễu. Trong thuật toán này đã giải quyết được vấn đề làm việc với thuộc tính số(liên tục), thuộc tính có nhiều giá trị, và vấn đề dữ liệu bị thiếu hoặc bị nhiễu.
- Thuật toán SLIQ phân lớp rất có hiệu quả đối với các tập dữ liệu lớn, nó làm việc không phù thuộc vào số lượng các lớp, các thuộc tính và số lượng bản ghi trong tập dữ liệu. Mặc dù đã có nhiều cải tiến, nhiều thuật toán xây dựng cây quyết định ra đời, nhưng nói chung vấn còn nhiều vấn đề khó khăn phức tạp và nhiều thách thức trong KPDL bằng cây quyết định.
Tuy nhiên việc cài đặt phức tạp, áp dụng cho các cơ sở dữ liệu lớn. Như vấn đề dữ liệu bị thiếu giá trị đối với các thuộc tính trong CSDL. Vấn đề các CSDL rất lớn về số lượng các thuộc tính và về số lượng các bản ghi, vấn đề về bộ nhớ….
Trên thực tế các thuật toán xây dựng cây quyết định vấn đang được cải tiến, nghiên cứu và phát triển. Tiền xử lý dữ liệu: do một số lý do nào đó, trong bảng dữ liệu về sinh viên, có một số ô không có giá trị. Vì vậy, em tiến hành bước tiền xử lý dữ liệu: dùng giá trị dữ liệu thông dụng nhất cho các thuộc tính mà có giá trị bị thiếu để điền vào các ô dữ liệu bị để trống đó.
Sau đó, do em dự tính dùng tool dtree (dtree làm việc với dữ liệu dạng file text ) để xây dựng cây quyết định, vì vậy em tiến hành xử lý , export dữ liệu từ access ra file text. - Đầu vào: dữ liệu phẳng (dạng file text) chứa các thông tin được sử dụng trong mô tả bài toán. - Đầu ra: đầu ra của cây là file text chứa các luật dự đoán xếp loại tốt nghiệp của sinh viên dựa vào các thông tin đầu vào.