Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 94 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
94
Dung lượng
1,88 MB
Nội dung
i BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG PHẠM VĂN LONG LONG KHAI PHÁ DỮ LIỆU THEO TIẾP CẬN TẬP THÔ VÀ CÂY QUYẾT ĐỊNH - ỨNG DỤNG TRONG PHÂN LỚP NĂNG KHIẾU HỌC SINH Chuyên Ngành: CNTT Mã số: 60.48.02.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC TS HOÀNG THỊ LAN GIAO GIAO ii Đồng Nai, Năm 2012 LỜI CAM ĐOAN ĐOAN Tôi xin cam đoan kết trình bày luận văn riêng tôi, không chép từ cơng trình khác Nếu có điều khơng trung thực, tơi xin chịu hồn tồn trách nhiệm Học viên Phạm văn Long iii LỜ I CẢM CẢM ƠN ƠN Trước tiên, em xin chân thành cảm ơn Hồng Thị Lan Giao, bận rộn công việc Cô quan tâm giúp đỡ, bảo kịp thời tận tình hướng dẫn em việc hoàn thành luận văn Em xin cảm ơn Quý Thầy Cô khoa Công nghệ thông tin trường Đại học Lạc Hồng, em xin chân thành cảm ơn Thầy Cơ giảng viên kiến thức mà Quý Thầy Cô truyền đạt cho em suốt trình học tập trường Xin cảm ơn Sở Giáo dục đào tạo Đồng Đồ ng Nai tạo điều kiện để học hồn thành tốt khố học. Xin chân thành cảm ơn anh chị em lớp cao học cơng nghệ thơng tin khố trường Đại Học Lạc Lạc Hồng bạn đồng nghiệp bên cạnh, động huyến khích tơi suốt thời gian học tập thực đề tài viên, k huyến Xin chân thành cảm ơn! Đồng Nai, ngày 28 tháng năm 2012 Học viên Phạm Văn Long iv MỤC LỤ LỤC LỜI CẢM ƠN i MỤC LỤC iv DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT iii iii DANH MỤC CÁC BẢNG vii DANH MỤC CÁC HÌNH VẼ viii MỞ ĐẦU CHƯƠNG 1: KHAI PHÁ DỮ LIỆU THEO TIẾP CẬN TẬP THÔ 1.1 Giới thiệu 1.2 Các Các khái niệm 1.2.1 Hệ thống thông tin 1.2.2 Bảng định 1.2.3 Quan hệ không phân biệt đượ c 1.2.4 Xấp xỉ tập hợp tập thô 1.2.5 Sự phụ thuộc thuộc tính 11 1.2.6 Rút gọn thuộc tính hệ thống thơng tin 12 1.2.7 Ma trận phân biệt 14 1.3 Rút gọn liệu trong hệ thống thông tin 16 1.4 Thuật tốn tìm tập rút gọn bảng định dựa vào ma trận phân biệt 16 1.5 Tập thô với công cụ khai phá liệu 21 21 1.5.1 Khám phá tri thức sở liệu 1.5.2 Tập thô khai phá liệu. 22 1.5.3 Một số ứng dụng quan trọng lý thuyết tập thô 23 1.6 Kết luận chương 25 CHƯƠNG 2: CÁC PHƯƠNG PHÁP XÂY DỰNG CÂY QUYẾT ĐỊNH 26 2.1 Khai phá liệu với định 26 2.1.1 Khái niệm 26 2.1.2 Thiết kế định 26 2.2 Phương pháp tổng quát xây dựng định 28 2.3 Phương pháp xây dựng câ y định ID3 30 v 2.3.1 Tiêu chí lựa chọn thuộc tính để phân lớp 30 2.3.2 Thuật toán ID3 31 2.3.3 Độ phức tạp tính tốn tốn 37 2.4 Phương pháp xây dựng định C4.5 38 2.4.1 Giới thiệu 38 2.4.2 Xác định điểm chia tốt 38 2.4.3 Một số vấn đề với thuộc tính 38 2.4.4 Thuật toán C4.5 43 2.5 Phương pháp xây dựng định FID3 52 2.5.1 Xác định điểm chia tốt 52 2.5.2 Thuật toán FID3 53 2.6 Kết luận chương 58 CHƯƠNG 3: MÔ PHỎNG CHƯƠNG TRÌNH PHÂN LỚP NĂNG KHIẾU HỌC SINH 59 3.1 Giới thiệu toán 59 3.2 Cài đặt ứng dụng 60 3.2.1 Giới thiệu sở liệu 61 3.2.2 Màn hình giao diện chương trình 62 3.2.3 Chức mở liệu 63 3.2.4 Chức tìm tập rút gọn 64 3.2.5 Chức tạo hiển thị định 65 65 3.2.6 Chức phân lớp khiếu học sinh 3.2.7 Luật định tương ứng với sở liệu 66 3.3 Kết luận chương 67 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 68 Tài liệu tham khảo Phụ lục vi DANH MỤ MỤC CÁC KÝ HIỆ HIỆU, CÁC CHỮ CHỮ VIẾ VIẾT TẮ TẮT CÁC KÝ HIỆU: HIỆU: S = = (U, A) Hệ thống thông tin V a Tập giá trị thuộc tính a IND( B B) Quan hệ tương đương tập thuộc tính B [x] B Lớp tương đương chứa x quan hệ không phân biệt trên B DT=(U,C D) Bảng định B ( X ) B-Xấp xỉ X B ( X ) B-xấp xỉ X BNB( X X ) B- biên biên tập X NEG B( X X ) B-ngoài tập POSC ( D) Miền C-khẳng định D | POSC ( D) | Lực lượng tập POSC ( D) |U| Lực lượng tập U B ( X ) B( X ) Lực lượng B-xấp xỉ X Lực lượng B-Xấp xỉ X CÁC CHỮ VIẾT TẮT TẮT ID3: Iterative Dichotomiser IG: Information Gain vii DANH MỤ MỤC CÁC BẢ BẢNG Số hiệu Tên bảng bảng Trang 1.1 Ví dụ hệ thơng tin 1.2 Ví dụ bảng định 1.3 Hệ thơng tin minh họa phụ thuộc thuộc tính 12 1.4 Rút gọn thuộc tính hệ thống thơng tin 14 1.5 Bảng định minh họa ma trận phân biệt bi ệt 15 1.6 Ma trận phân biệt hệ thông tin Bảng 1.4 15 1.7 Bảng định minh họa ví dụ 1.11 19 2.1 Bảng định minh họa Ví dụ 2.1 29 2.2 Bảng định minh họa thuật toán t oán ID3. 34 2.3 Tập liệu có gí trị liên tục 39 2.4 Dữ liệu chứa thuộc tính thiếu giá trị 41 3.1 Danh sách thuộc tính bảng điểm điể m tổng hợp 61 viii DANH MỤ MỤC CÁC HÌNH VẼ V Ẽ Số hiệu Tên hình vẽ Tập xấp xấp xỉ miền miền 1.1 Minh họa chạy thuật tốn tìm tập rút gọn cho ví dụ từ 1.2 chương trình 1.3 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 3.1 3.2 3.3 3.4 3.5 3.6 Xử lý khám phá tri thức sở liệu Ví dụ định ứng với bảng định 2.1 Cây định bước đầu ví dụ 2. Cây định xây dựng theo thuật toán ID3 ứng với bảng định 2.2 Minh họa phân chia thuộc tính liên tục Minh họa phân chia thuộc tính nhiều giá trị Cây định bước đầu xây dựng theo thuật toán C4.5 ứng với Bảng định 2.4 Cây định xây dựng theo thuật toán C4.5 nhánh “Quang cảnh” =Nắng Cây định xây dựng theo thuật toán C4.5 ứng với Bảng định 2.4 Cây định bước đầu xây dựng theo thuật toán FID3 ứng với Bảng định 2.2 Cây định xây dựng theo thuật toán FID3 ứng với Bảng định 2.2 Minh họa bảng điểm tổng hợp Minh họa hình giao diện chương trình Minh họa hình giao diện chức mở liệu của chương trình Minh họa hình giao diện chức tìm tập rút gọn chương trình Minh họa hình giao diện chức năng tạo hiển thị định chương trình Minh họa hình giao diện chức phân lớp khiếu học sinh chương trình Trang 22 22 29 35 37 40 42 48 50 52 56 58 62 62 63 64 64 65 MỞ ĐẦU ĐẦU Sự phát triển mạnh mẽ tiến vượt bậc công nghệ thông tin thời gian gần góp phần làm bùng nổ thơng tin Trong giao dịch thông tin dần số hóa nhiều tính vượt trội mà phương thức đạt lưu trữ lâu dài, cập nhật, sửa đổi, tìm kiếm cách nhanh chóng Đó lý khiến cho số lượng thơng tin số hóa ngày tăng dần theo cấp số nhân Hơn tất lĩnh vực đời sống kinh doanh, thương mại, y tế, giáo dục, văn hoá, xã hội, không lĩnh vực lại không cần đến hỗ trợ công nghệ thông tin Các công cụ thu thập liệu tự động công nghệ sở liệu phát triển dẫn đến vấn đề lượng liệu khổng lồ lưu trữ sở liệu kho thông tin tổ chức, cá nhân Việc nắm bắt thơng tin cách nhạy bén, nhanh chóng hữu ích mang lại nhiều thành công lĩnh vực Do việc khai phá tri thức từ liệu tập tài liệu lớn chứa đựng thông tin phục vụ nhu cầu nắm bắt thơng tin có vai trị to lớn nhi nhiều ều nhà nghiên cứu ứng dụng tin học đặc biệt quan tâm Việc nghiên cứu phương pháp tự động phát tri thức sở dư liệu máy tính tỏ thực hữu ích việc hỗ trợ định cho người. Hiện có nhiều thuật toán khai phá tri thức cách phân lớp rời rạc liệu như: Sử dụng định, phương pháp thống kê, mạng nơ ron, thuật toán di truyền, Trong năm gần đây,, lý thuyết tâp thơ nhiều nhóm nghiên cứu hoạt động lĩnh vực tin học nói chung khai phá tri thức nói riêng nguyên cứu áp dụng thực tế Lý thuyết tập thô xây dựng tảng toán học vững giúp cung cấp cơng cụ hữu ích để giải toán phân lớp liệu khai phá luật, Với đặc tính xử lý liệu mơ hồ, không chắn tập thô tỏ hữu ích việc giải tốn thực tế Từ bảng liệu lớn với liệu dư thừa, khơng hồn hảo, liệu liên tục, hay liệu dạng ký hiệu lý thuyết tập thô cho phép khai phá tri thức từ khối liệu nhằm phát luật tiềm ẩn từ khối liệu Một công cụ phân lớp hiệu sử dụng định Sử dụng định dựa Entropy tập thô thật hiệu tập liệu lớn, liệu đầy đủ, không đầy đủ, không chắn, liệu liên tục … Thuật tốn xây dựng định có ưu khuyết điểm riêng việc kết hợp ưu điểm phương pháp với để làm tăng hiệu quan tâm ph át tr iển iển Vì lý nên luận văn chọn đề tài “KHAI PHÁ DỮ LIỆU THEO TIẾP CẬN TẬP THÔ VÀ CÂY QUYẾT ĐỊNH - ỨNG DỤNG TRONG PHÂN LỚP NĂNG KHIẾU HỌC SINH ”. Mục đích nghiên cứu. Nghiên cứu lý thuyết tập thô, phương pháp phân lớp định theo thuật toán ID3 đưa vào cài đặt chương trình ứng dụng phân lớp khiếu học sinh Đối tượng phạm vi nghiên cứu. Nghiên cứu sở khai phá liệu dựa tiếp cận tập thô Nghiên cứu sở lý thuyết phương pháp phân lớp liệu xây dựng định ID3 hệ thống thông tin đầy đủ Phương pháp nghiên cứu Nghiên cứu lý thuyết, phân tích, tổng hợp, cài đặt, khái quát rút vấn đề cần thiết cho đề tài Ý nghĩa khoa học thực tiễn đề tài Khai phá liệu, khám phá hiệu tri thức từ sở liệu lớn, trở thành vấn đề nóng cho việc đưa định Một vấn đề quan trọng phổ biến kỹ thuật khai phá liệu phân lớp ứng dụng rộng rãi thương mại, y tế, công nghiệp Trong năm trước đây, phương pháp phân lớp đề xuất, khơng có phương pháp tiếp cận phân loại cao xác hẳn phương pháp khác Tuy nhiên với phương pháp có lợi bất lợi riêng sử dụng Vì dể hiểu dễ sử dụng kết chưa thoả đáng. Phân loại sử dụng lý thuyết tập thô, nghiên cứu rộng rãi năm gần Lý thuyết tập thô cung cấp cho nhiều nhà nghiên cứu phân tích liệu với nhiều kỹ thuật khai phá liệu khái niệm đặc trưng cách sử dụng số kiện Nhiều nhà nghiên cứu sử dụng lý thuyết tập thô ứng dụng phân biệt thuộc tính, giảm số chiều, khám phá tri thức, phân tích liệu thời gian, Xây dựng định thuật toán ID3 dựa 72 bool isDuplicate( int x, x, List List< > list) bool isDuplicate(int { foreach ( foreach (int int y y in in list) list) if (x (x == y) if return true return true; ;//Lặp return false false; ;//Không lặp return } private void private void TapRutGonTheoMaTranPhanB TapRutGonTheoMaTranPhanBietDuoc() ietDuoc() { richTextBox1.Text += "\t\t TAP RUT GON THEO THUAT TOAN SU DUNG MA TRAN PHAN BIET DUOC:\n \t\t\t\t R = "; "; List List< > c = new new List< List(); Hashtable>(); for ( (int int i i = 0; i < dataGridView1.Columns.Count; dataGridView1.Columns.Count; i++) for new Hashtable Hashtable()); ()); c.Add(new c.Add( for ( int i i = 1; i E = new new List List< (); >();//Universe //Universe set set List for ( int i i = 1; i > D = new new List List< (); >();//Decision //Decision set set List C = Subtraction(E, Subtraction(E, D);//Conditional D);//Conditional set set List List > R = new new List List< (); >(); List< > U = new new List List< (); >(); List for for ( (int int i i = 1; i > L = new new List< List(); >>(); L.Add(U); // - // do // Tương đương repeat do { int alphaindex alphaindex = 0; int //List mygama = new List(); //List List(); //List e> gama = new List(); //List > alpha = new new List< List(); >(); List>> multibounds = new new List List< (); >>>(); List List< >> mygama = new new List List< (); >>(); foreach ( int cj cj in in Subtraction(C, Subtraction(C, R)) // Tương đương for cj in C \R \R foreach (int { List >> bound = new new List List< (); >>(); List< double> > gama = new new List List< (); double>(); List Xi in L) in L) // Tương đương Xi in L foreach (List { List > listomega = new new List< List(); >(); Hashtable temp new Hashtable(); Hashtable(); Hashtable temp = new foreach ( (int int index index in in Xi) Xi) foreach temp[index] = c[cj - 1][index]; bound = Partition(temp); Partition(temp); multibounds.Add(bound); double double omega; omega; for ( int j j = 0; j < bound.Count; j++) for (int { List< > valD = SelectDistinct(c[D[0] - 1]); List //Have to change D[0] into other In this case, D just contain column. column. omega = 0; 73 foreach (string foreach ( string s s in valD) in valD) Math.Pow(countValues(bound[j], Pow(countValues(bound[j], s, c[D[0] omega += Math 1]), 2); omega = Math.Pow(bound[ Math.Pow(bound[j].Count, j].Count, 2) - omega; omega /= 2; listomega.Add(omega); }// end of for j j double tgama tgama = 0; double foreach ( double xgama xgama in listomega) in listomega) foreach (double tgama += xgama; gama.Add(tgama); } mygama.Add(gama); double a1 = 0; double a1 foreach ( double a2 a2 in gama) in gama) foreach (double a1 += a2; alpha.Add(a1); } alphaindex = min(alpha); while (isDuplicate(alphai (isDuplicate(alphaindex ndex + 1, R)) while { alpha.RemoveAt(alphaindex); alphaindex = min(alpha); } R.Add(alphaindex + 1);//Vi 1);//Vi chi so bat dau tu 0 0 L = multibounds[alphaindex]; multibounds[alphaindex]; if if (alpha[alphaindex] (alpha[alphaindex] == 0) break; break; while ( (true true); ); } while // In kết - \n\t{"; //richTextBox1.Text += "Cac tap rut gọn la: \n\t{"; if if (dataGridView1.Column (dataGridView1.Columns.Count s.Count < 15) { richTextBox1.Text richTextBox1 Text += "{" "{"; ; foreach ( int x x in in R) R) foreach (int richTextBox1.Text += dataGridView1.Columns[x - 1].HeaderText + "; ", "; } if (dataGridView1.Columns[1] (dataGridView1.Columns[1].HeaderText .HeaderText.ToString()== ToString()== "TO" "TO" ) ) if { List< int> > lo = new new List List< (); >(); List