Nghiên cứu các thuật toán phân lớp dữ liệu dựa trên cây quyết định
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Thị Thùy Linh NGHIÊN CỨU CÁC THUẬT TOÁN PHÂN LỚP DỮ LIỆU DỰA TRÊN CÂY QUYẾT ĐỊNH KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thông tin HÀ NỘI - 2005 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Thị Thùy Linh NGHIÊN CỨU CÁC THUẬT TOÁN PHÂN LỚP DỮ LIỆU DỰA TRÊN CÂY QUYẾT ĐỊNH KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng nghệ thơng tin Cán hướng dẫn: TS Nguyễn Hải Châu HÀ NỘI - 2005 TÓM TẮT NỘI DUNG Phân lớp liệu hướng nghiên cứu khai phá liệu Công nghệ đã, có nhiều ứng dụng lĩnh vực thương mại, ngân hàng, y tế, giáo dục…Trong mơ hình phân lớp đề xuất, định coi cơng cụ mạnh, phổ biến đặc biệt thích hợp với ứng dụng khai phá liệu Thuật toán phân lớp nhân tố trung tâm mơ hình phân lớp Khóa luận nghiên cứu vấn đề phân lớp liệu dựa định Từ tập trung vào phân tích, đánh giá, so sánh hai thuật toán tiêu biểu cho hai phạm vi ứng dụng khác C4.5 SPRINT Với chiến lược riêng lựa chọn thuộc tính phát triển, cách thức lưu trữ phân chia liệu, số đặc điểm khác, C4.5 thuật toán phổ biến phân lớp tập liệu vừa nhỏ, SPRINT thuật toán tiêu biểu áp dụng cho tập liệu có kích thước cực lớn Khóa luận chạy thử nghiệm mơ hình phân lớp C4.5 với tập liệu thực thu số kết phân lớp có ý nghĩa thực tiễn cao, đồng thời đánh giá hiệu mơ hình phân lớp C4.5 Trên sở nghiên cứu lý thuyết q trình thực nghiệm, khóa luận đề xuất số cải tiến mơ hình phân lớp C4.5 tiến tới cài đặt SPRINT - i- LỜI CẢM ƠN Trong suốt thời gian học tập, hồn thành khóa luận em may mắn thầy bảo, dìu dắt gia đình, bạn bè quan tâm, động viên Em xin bày tỏ lòng biết ơn chân thành tới thầy cô trường Đại học Công Nghệ truyền đạt cho em nguồn kiến thức vô quý báu cách học tập nghiên cứu khoa học Cho phép em gửi lời cảm ơn sâu sắc tới TS Nguyễn Hải Châu, người thầy nhiệt tình bảo hướng dẫn em suốt q trình thực khóa luận Với tất lịng mình, em xin bày tỏ lịng biết ơn sâu sắc đến TS Hà Quang Thụy tạo điều kiện thuận lợi cho em định hướng nghiên cứu Em xin lời cảm ơn tới Nghiên cứu sinh Đoàn Sơn (JAIST) cung cấp tài liệu cho em lời khuyên quý báu Em xin gửi lời cảm ơn tới thầy cô Bộ môn Các hệ thống thông tin, Khoa Công nghệ thông tin giúp em có mơi thực nghiệm thuận lợi Em xin gửi tới bạn nhóm Seminar “Khai phá liệu Tính tốn song song” lời cảm ơn chân thành đóng góp kiến thức quý báu em tiếp thu suốt thời gian tham gia nghiên cứu khoa học Cuối cùng, em xin cảm ơn gia đình, bạn bè tập thể lớp K46CA, người bên khích lệ động viên em nhiều Hà Nội, tháng năm 2005 Sinh viên Nguyễn Thị Thùy Linh - ii- MỤC LỤC TÓM TẮT NỘI DUNG i LỜI CẢM ƠN ii MỤC LỤC iii DANH MỤC BIỂU ĐỒ HÌNH VẼ .v DANH MỤC THUẬT NGỮ vii ĐẶT VẤN ĐỀ .1 Chương TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU DỰA TRÊN CÂY QUYẾT ĐỊNH .3 1.1 Tổng quan phân lớp liệu data mining 1.1.1 Phân lớp liệu 1.1.2 Các vấn đề liên quan đến phân lớp liệu 1.1.3 Các phương pháp đánh giá độ xác mơ hình phân lớp 1.2 Cây định ứng dụng phân lớp liệu 1.2.1 Định nghĩa 1.2.2 Các vấn đề khai phá liệu sử dụng định 10 1.2.3 Đánh giá định lĩnh vực khai phá liệu 11 1.2.4 Xây dựng định 13 1.3 Thuật toán xây dựng định 14 1.3.1 Tư tưởng chung 14 1.3.2 Tình hình nghiên cứu thuật tốn 15 1.3.3 Song song hóa thuật toán phân lớp dựa định 17 Chương C4.5 VÀ SPRINT 21 2.1 Giới thiệu chung 21 2.2 Thuật toán C4.5 21 2.2.1 C4.5 dùng Gain-entropy làm độ đo lựa chọn thuộc tính “tốt nhất” 22 2.2.2 C4.5 có chế riêng xử lý giá trị thiếu 25 2.2.3 Tránh “quá vừa” liệu 26 2.2.4 Chuyển đổi từ định sang luật 26 2.2.5 C4.5 thuật toán hiệu cho tập liệu vừa nhỏ 27 2.3 Thuật toán SPRINT 28 2.3.1 Cấu trúc liệu SPRINT 29 2.3.2 SPRINT sử dụng Gini-index làm độ đo tìm điểm phân chia tập liệu “tốt nhất” 31 2.3.3 Thực thi phân chia 34 2.3.4 SPRINT thuật toán hiệu với tập liệu lớn so với thuật toán khác 35 - iii- 2.4 So sánh C4.5 SPRINT 37 Chương CÁC KẾT QUẢ THỰC NGHIỆM 38 3.1 Môi trường thực nghiệm .38 3.2 Cấu trúc mơ hình phân lớp C4.5 release8: 38 3.2.1 Mơ hình phân lớp C4.5 có chương trình chính: 38 3.2.2 Cấu trúc liệu sử dụng C4.5 39 3.3 Kết thực nghiệm 40 3.3.1 `7Một số kết phân lớp tiêu biểu: 40 3.3.2 Các biểu đồ hiệu 47 3.4 Một số đề xuất cải tiến mô hình phân lớp C4.5 54 KẾT LUẬN 56 TÀI LIỆU THAM KHẢO 57 - iv- DANH MỤC BIỂU ĐỒ HÌNH VẼ Hình - Q trình phân lớp liệu - (a) Bước xây dựng mơ hình phân lớp Hình - Quá trình phân lớp liệu - (b1)Ước lượng độ xác mơ hình Hình - Quá trình phân lớp liệu - (b2) Phân lớp liệu Hình - Ước lượng độ xác mơ hình phân lớp với phương pháp holdout Hình 5- Ví dụ định .9 Hình - Mã giả thuật tốn phân lớp liệu dựa định 14 Hình - Sơ đồ xây dựng định theo phương pháp đồng 18 Hình - Sơ đồ xây dựng định theo phương pháp phân hoạch .19 Hình - Sơ đồ xây dựng định theo phương pháp lai 20 Hình 10 - Mã giả thuật toán C4.5 22 Hình 11 - Mã giả thuật toán SPRINT 28 Hình 12 - Cấu trúc liệu SLIQ 29 Hình 13 - Cấu trúc danh sách thuộc tính SPRINT – Danh sách thuộc tính liên tục xếp theo thứ tự tạo 30 Hình 14 - Ước lượng điểm phân chia với thuộc tính liên tục 32 Hình 15 - Ước lượng điểm phân chia với thuộc tính rời rạc 33 Hình 16 - Phân chia danh sách thuộc tính node 34 Hình 17 - Cấu trúc bảng băm phân chia liệu SPRINT (theo ví dụ hình trước) 35 Hình 18 - File định nghĩa cấu trúc liệu sử dụng thực nghiệm 39 Hình 19 - File chứa liệu cần phân lớp 40 Hình 20 - Dạng định tạo từ tập liệu thử nghiệm 41 Hình 21 - Ước lượng định vừa tạo tập liệu training tập liệu test 42 Hình 22 - Một số luật rút từ liệu 19 thuộc tính, phân lớp loại thiết lập chế độ giao diện người sử dụng (WEB_SETTING_ID) 43 Hình 23 - Một số luật rút từ liệu thuộc tính, phân lớp theo số hiệu nhà sản xuất điện thoại (PRODUCTER_ID) 44 Hình 24 - Một số luật sinh từ tập liệu thuộc tính, phân lớp theo dịch vụ điệnthoại mà khách hàng sử dụng (MOBILE_SERVICE_ID) 45 Hình 25 - Ước lượng tập luật tập liệu đào tạo 46 - v- Bảng - Bảng liệu tập training với thuộc tính phân lớp buys_computer 24 Bảng - Thời gian xây dựng định tập luật sản xuất phụ thuộc vào kích thước tập liệu đào tạo thuộc tính 49 Bảng - Thời gian xây dựng định tập luật sản xuất phụ thuộc vào kích thước tập liệu đào tạo thuộc tính 50 Bảng - Thời gian xây dựng định tập luật sản xuất phụ thuộc vào kích thước tập liệu đào tạo18 thuộc tính 51 Bảng - Thời gian sinh định phụ thuộc vào số lượng thuộc tính 52 Bảng - Thời gian xây dựng định với thuộc tính rời rạc thuộc tính liên tục 53 Bảng - Thời gian sinh định phụ thuộc vào số giá trị phân lớp 54 Biểu đồ 1- So sánh thời gian thực thi mơ hình phân lớp SPRINT SLIQ theo kích thước tập liệu đào tạo 36 Biểu đồ - Thời gian xây dựng định tập luật sản xuất phụ thuộc vào kích thước tập liệu đào tạo thuộc tính 49 Biểu đồ - Thời gian xây dựng định tập luật sản xuất phụ thuộc vào kích thước tập liệu đào tạo thuộc tính 50 Biểu đồ - Thời gian xây dựng định tập luật sản xuất phụ thuộc vào kích thước tập liệu đào tạo18 thuộc tính 51 Biểu đồ - Sự phụ thuộc thời gian sinh định vào số lượng thuộc tính .52 Biểu đồ - So sánh thời gian xây dựng định từ tập thuộc tính liên tục từ tập thuộc tính rời rạc 53 Biểu đồ - Thời gian sinh định phụ thuộc vào số giá trị phân lớp .54 - vi- DANH MỤC THUẬT NGỮ STT Tiếng Anh Tiếng Việt training data liệu đào tạo test data liệu kiểm tra Pruning decision tree Cắt, tỉa định Over fitting data Quá vừa liệu Noise Dữ liệu lỗi Missing value Giá trị thiếu Data tuple Phần tử liệu Case Case (được hiểu data tuple, chứa giá trị thuộc tính tập liệu) - vii- Nghiên cứu thuật toán phân lớp liệu dựa định ĐẶT VẤN ĐỀ Trong trình hoạt động, người tạo nhiều liệu nghiệp vụ Các tập liệu tích lũy có kích thước ngày lớn, chứa nhiều thơng tin ẩn dạng quy luật chưa khám phá Chính vậy, nhu cầu đặt cần tìm cách trích rút từ tập liệu luật phân lớp liệu hay dự đoán xu hướng liệu tương lai Những quy tắc nghiệp vụ thông minh tạo phục vụ đắc lực cho hoạt động thực tiễn, phục vụ đắc lực cho q trình nghiên cứu khoa học Cơng nghệ phân lớp dự đoán liệu đời để đáp ứng mong muốn Cơng nghệ phân lớp liệu đã, phát triển mạnh mẽ trước khao khát tri thức người Trong năm qua, phân lớp liệu thu hút quan tâm nhà nghiên cứu nhiều lĩnh vực khác học máy (machine learning), hệ chuyên gia (expert system), thống kê (statistics) Công nghệ ứng dụng nhiều lĩnh vực thực tế như: thương mại, nhà băng, maketing, nghiên cứu thị trường, bảo hiểm, y tế, giáo dục Nhiều kỹ thuật phân lớp đề xuất như: Phân lớp định (Decision tree classification), phân lớp Bayesian (Bayesian classifier), phân lớp Khàng xóm gần (K-nearest neighbor classifier), mạng nơron, phân tích thống kê,… Trong kỹ thuật đó, định coi công cụ mạnh, phổ biến đặc biệt thích hợp cho data mining [5][7] Trong mơ hình phân lớp, thuật tốn phân lớp nhân tố chủ đạo Do cần xây dựng thuật tốn có độ xác cao, thực thi nhanh, kèm với khả mở rộng để thao tác với tập liệu ngày lớn Khóa luận nghiên cứu tổng quan cơng nghệ phân lớp liệu nói chung phân lớp liệu dựa định nói riêng Từ tập trung hai thuật tốn tiêu biểu cho hai phạm vi ứng dụng khác C4.5 SPRINT Việc phân tích, đánh giá thuật tốn có giá trị khoa học ý nghĩa thực tiễn Tìm hiểu thuật tốn giúp tiếp thu phát triển mặt tư tưởng, kỹ thuật công nghệ tiên tiến thách thức nhà khoa học lĩnh vực data mining Từ triển khai cài đặt thử nghiệm mơ hình phân lớp liệu thực tế Tiến tới ứng dụng vào hoạt động thực tiễn Việt Nam, mà trước tiên hoạt động phân tích, nghiên cứu thị trường khách hàng Khóa luận tốt nghiệp – Nguyễn Thị Thùy Linh – K46CA - 1- ... tiến mơ hình phân lớp C4.5 Khóa luận tốt nghiệp – Nguyễn Thị Thùy Linh – K46CA - 2- Nghiên cứu thuật toán phân lớp liệu dựa định Chương TỔNG QUAN VỀ PHÂN LỚP DỮ LIỆU DỰA TRÊN CÂY QUYẾT ĐỊNH 1.1 Tổng... trình phân lớp liệu - (b2) Phân lớp liệu Trong mơ hình phân lớp, thuật tốn phân lớp giữ vai trị trung tâm, định tới thành cơng mơ hình phân lớp Do chìa khóa vấn đề phân lớp liệu tìm thuật tốn phân. .. dụng khai phá liệu Thuật toán phân lớp nhân tố trung tâm mơ hình phân lớp Khóa luận nghiên cứu vấn đề phân lớp liệu dựa định Từ tập trung vào phân tích, đánh giá, so sánh hai thuật toán tiêu biểu