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 - LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN

94 43 0
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 - LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

    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

Ngày đăng: 26/08/2020, 10:35

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan