Đăng ký Đăng nhập
Trang chủ Khai phá dữ liệu cho tư vấn lựa chọn môn học...

Tài liệu Khai phá dữ liệu cho tư vấn lựa chọn môn học

.PDF
12
274
127

Mô tả:

BỘ GIÁO DỤC VÀ ĐÀO TẠO TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG --------------------------------------- PHẠM THỊ PHÚC KHAI PHÁ DỮ LIỆU CHO TƯ VẤN LỰA CHỌN MÔN HỌC CHUYÊN NGÀNH : TRUYỀN DỮ LIỆU VÀ MẠNG MÁY TÍNH MÃ SỐ : 60.48.15 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Người hướng dẫn khoa học: PGS.TS. Trần Đình Quế HÀ NỘI – 2010 TÀI LIỆU THAM KHẢO [1]. R. Agrawal and Ramakrishnan Srikant (1994), Fast algorithms for mining association rules. In Proc. of the 20th Int’l Conf. on Very Large Databases [2]. N. Bendakir and E. Aimeur. Using association rules for course recommendation. In Proceedings of the AAAI Workshop on Educational Data Mining, July 16-17 2006 [3]. F. Castro, A. Vellido, A. Nebot, F. Mugica. Applying Data Mining Techniques to e-Learning Problems [4]. J. Han and M. Kamber: Data Mining: Concepts and Techniques, Morgan Kaufmann, San Francisco, CA, (2000). [5]. J. Hipp, U. Guntzer, and G. Nakaeizadeh. Algorithms for Association Rule Mining - A General Survey and Comparison. In Proc. ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, 2000 [6]. Ho Tu Bao: Introduction to Knowledge Discovery and Data Mining, Institute of Information Technology. [7]. Margaret H. Dunham, Yongqiao Xiao, Le Gruenwald, Zahid Hossain, "A Survey of Association Rules”, 2000 [8]. RYAN S.J.D. BAKER, K. YACEF. The State of Educational Data Mining in 2009: A Review and Future Visions [9]. C.Vialardi, J. Bravo, L. Shafti, A. Ortigosa. Recommendation in Higher Education Using Data Mining Techniques [10]. I. H. Witten and E. Frank: Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations, Morgan Kaufmann Publishers, New York, NY, (2000) 20 đào tạo (hỗ trợ thêm nhiều chức năng: sắp xếp lịch học, sinh viên đăng ký môn học, . …)  Hiện nay, dữ liệu được lưu trữ ngày một tăng, để ứng dụng khai phá dữ liệu vào các bài toán này cần tiếp tục nghiên cứu các phương pháp xử lý cho bài toán có dữ liệu lớn. Xem xét, nghiên cứu một số ứng dụng khác của Khai phá dữ liệu. 1 Những năm gần đây, khi nền khoa học công nghệ thông tin đang ngày càng phát triển như vũ bão thì vấn đề khai phá dữ liệu đã trở thành một trong những hướng nghiên cứu chính trong lĩnh vực khoa học máy tính và công nghệ tri thức. Khai phá dữ liệu đã và đang ứng dụng thành công vào rất nhiều các lĩnh vực khác nhau như: thương mại, tài chính, thị trường chứng khoán, y học, thiên văn học, sinh học, giáo dục và viễn thông..v.v. Đối với nước ta, hệ thống giáo dục đang dần chuyển từ đào tạo theo niên chế sang đào tạo theo tín chỉ. Đào tạo tín chỉ có rất nhiều ưu điểm giúp sinh viên có thể tự quản lý quỹ thời gian của mình và tùy theo khả năng của mình sinh viên sẽ tự quyết định các môn học từng kỳ của mình, tạo điều kiện cho sinh viên đạt được kết quả cao nhất với khả năng của mình đồng thời sắp xếp thời gian tự hỗ trợ bản thân và có thể áp dụng lý thuyết học trên giảng đường để tiếp cận thực tế. Vì thế việc xây dựng một hệ thống tư vấn môn học cho sinh viên tạo để sinh viên có thể lựa chọn môn học lựa chọn, chuyên ngành đạt hiệu quả cao là điều cần thiết và rất hữu ích. Mục đích của luận văn này nhằm tìm hiểu kỹ thuật khai phá dữ liệu. Xem xét và sử dụng kỹ thuật khai phá luật kết hợp trong tư vấn môn học cho sinh viên. Một ví dụ ví dụ áp dụng được thể hiện trong xây dựng hệ tư vấn tại trường Đại học Thăng Long. 2 19 I. TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU KẾT LUẬN Ngày nay, dữ liệu được lưu trữ ngày càng tăng. Vấn đề đặt ra là chúng ta phải làm gì để tìm ra những tri thức từ một lượng lớn khổng lồ dữ liệu như vậy. Nhiệm vụ của Khai phá dữ liệu là từ dữ liệu có sẵn có phải tìm ra những thông tin tiềm ẩn có giá trị mà trước đó chưa được phát hiện cũng như tìm ra những xu hướng phát triển và các xu hướng tác động lên chúng. Các kỹ thuật cho phép ra lấy được tri thức từ cơ sở dữ liệu được gọi là các kỹ thuật khai phá dữ liệu (DM: Data Mining). Có rất nhiều kỹ thuật khai phá dữ liệu khác nhau tuân theo các bước quá trình phát hiện tri thức. Luận văn “Khai phá dữ liệu cho tư vấn lựa chọn môn học” đã trình bày được một số vấn đề sau:  Những nghiên cứu về khai phá dữ liệu và ứng dụng trong nhiều lĩnh vực khác nhau nhằm khai phá nguồn dữ liệu phong phú được lưu trữ trong các hệ thống thông tin. Khai phá dữ liệu cũng được áp dụng nhiều trong việc tư vấn, dự báo, đặc biệt là những ứng dụng cho tư vấn trong giáo dục.  Khai phá dữ liệu có rất nhiều hướng tiếp cận (nhiều nhiệm vụ, mục đích), nhưng có 3 nhiệm vụ phổ biến: phát hiện Luật kết hợp (Association rules), Phân cụm (Clustering) và Phân loại (Classification). Trong đó nhiệm vụ phát hiện luật kết hợp là một trong những nhiệm vụ được quan tâm, nghiên cứu nhiều nhất.  Tìm hiểu được những ưu điểm cũng như những khó khăn trong việc đào tạo theo tín chỉ. Sử dụng phần mềm mã nguồn mở Weka (đang được sử dụng phổ biến) cho việc sinh các luật kết hợp. Xây dựng một hệ thống tư vấn môn học cho Sinh viên nhằm giúp sinh viên định hướng được trong việc lựa chọn môn học, chuyên ngành học. I.1. QUÁ TRÌNH PHÁT HIỆN TRI THỨC TỪ CƠ SỞ DỮ LIỆU Quá trình phát hiện tri thức trải qua 5 giai đoạn khác nhau mà khai phá dữ liệu chỉ là một giai đoạn phát hiện tri thức 5. Đưa kết quả vào thực tế 4.Minh hoạ và đánh giá tri thức được phát hiện 3. Khai phá dữ liệu – trích ra các mẫu/mô hình 2. Thu nhập và tiền xử lý dữ liệu 1. Hiểu và xác định vấn đề Hình 1.1. Quá trình phát hiện tri thức từ cơ sở dữ liệu Hình trên mô tả 5 giai đoạn trong quá trình phát hiện tri thức từ cơ sở dữ liệu. Quá trình phát hiện tri thức từ cơ sở dữ Hướng phát triển tiếp theo của luận văn:  Để quá trình đào tạo theo tín chỉ hoạt có hiệu quả, cần xây dựng một hệ thống hoàn chỉnh hỗ trợ cả quá trình 18 3 liệu là một quá trình tương tác và lặp đi lặp lại theo chu trình liên tục kiểu xoáy trôn ốc, trong đó lần lặp sau hoàn chỉnh hơn lần lặp trước. Giai đoạn sau sử dụng kết quả của giai đoạn trước. I.2. CÁC KỸ THUẬT KHAI PHÁ DỮ LIỆU Hình 3.12. Giao diện định hướng chuyên ngành III.3. Kết luận Trong chương này, chúng ta đã hiểu được những thuận lợi và khó khăn về quá trình đào tạo theo tín chỉ. Hiểu được các bước tiền xử lý dữ liệu từ nguồn dữ liệu thu thập được. Sử dụng được phần mềm mã nguồn mở Weka vào việc sinh ra tập luật kết hợp. Từ đó xây dựng một tiến trình tư vấn môn học cho sinh viên. Giúp sinh viên định hướng được việc học tập, đạt kết quả tốt trong học tập.  Cây quyết định  Luật kết hợp  Mạng Nơron  Thuật toán di truyền (1) Cây quyết định: Cây quyết định là một cấu trúc giống như một lưu đồ mà mỗi nút trong của cây biểu diễn một trường hợp thử hoặc một phép kiểm tra trên một thuộc tính. Mỗi một phân nhánh của một nút biểu diễn một khả năng giá trị (miền giá trị) của phép thử. Các giá trị này nằm về một phía so với ngưỡng tương ứng của nút. Các nút lá biểu diễn các lớp hoặc phân bố lớp. Nút trên cùng trong cây gọi là nút gốc (2) Luật kết hợp: Trong thực tế những chuyên gia về kinh doanh và tiếp thị rất thích các luật đại thể như: “ 90% phụ nữ có xe máy màu đỏ và đeo đồng hồ Thuỵ Sỹ thì dùng nước hoa hiệu Chanel”. Những thông tin như vậy rất hữu ích cho việc định hướng các hoạt động tiếp thị và kinh doanh. Luật kết hợp có dạng X=>Y Tuy nhiên những thông tin tìm được từ một cơ sở dữ liệu là nhiều. Nhưng thông tin nào là đáng tin cậy. Phương pháp khai phá luật kết hợp có hai yếu tố đặc trưng đó là độ hỗ trợ (support)- tần xuất xuất hiện của một tập mục trong cơ sở dữ 4 liệu và độ tin cậy (confidence)- tỉ lệ phần trăm các bản ghi chứa Y trong số các bản ghi có X. 17 Giao diện chương trình (3) Mạng nơron: Có nhiều kiến trúc khác nhau cho mạng nơron và mỗi trong chúng sử dụng các cách kết nối mạng khác nhau và chiến lựơc học khác nhau để thực hiện các nhiệm vụ. Khi sử dụng mạng nơron chúng ta phải phân biệt hai giai đoạn: giai đoạn mã hoá trong mạng nơron được học trên các mẫu dữ liệu huấn luyện, thực hiện một nhiệm vụ nào đó và giai đoạn giải mã trong đó mạng được sử dụng để phân lớp, làm dự báo hoặc thực hiện bắt cứ nhiệm vụ học nào liên quan. (4) Thuật toán di truyền: Việc xây dựng các thuật toán di truyền phỏng sinh học nhằm tìm ra các giải pháp tốt nhất bao gồm các bứơc sau: 1. Tạo ra cơ chế mã di truyền dưới dạng các xâu của một bảng mã kỹ tự hạn chế. Hình 3.10.Giao diện cập nhật điểm của người dùng 2. Thiết lập môi trường nhân tạo trên máy tính trên đó các giải pháp có thể tham gia “đấu tranh sinh tồn” với nhau để xác định độ đo thành công hay thất bại, hay còn được gọi là “hàm thích nghi”. 3. Phát triển các “phép lai ghép” để các giải pháp kết hợp với nhau. Khi đó các xâu mã di truyền của giải pháp cha và mẹ bị cắt đi và xếp lại. Trong quá trình sinh sản như vậy các kiểu đột biến có thể được áp dụng. 4. Cung cấp một quần thể các giải pháp ban đầu tương đối đa dạng và để máy tính thực hiện “cuộc chơi tiến hoá” bằng cách loại bỏ các giải pháp từ mỗi cá thể và thay thế chúng bằng các Hình 3.11. Giao diện định hướng cho môn học lựa chọn 16  Sử dụng phần sinh luật kết hợp, với thuật toán Apriori, ta được một tập luật kết hợp lưu dưới dạng file text. Giai đoạn 2 (tư vấn): sử dụng các luật nhận được từ giai đoạn 1 để đưa ra những tư vấn cho người dùng  Người dùng cập nhập dữ liệu điểm các môn Đại cương của mình  Sau đó, người dùng có thể yêu cầu hệ thống đưa ra những định hướng về chuyên ngành hoặc định hướng về môn lựa chọn (chương trình sẽ hiển thị ra các luật phù hợp với dữ liệu điểm mà người dùng đã cập nhật). FOR tất cả các luật DO IF các cặp mamon, loaidiem trong vế trái của luật i trùng với cặp mamon_loaidiem của bangdiem THEN Luật i là luật được tư vấn cho người dùng END END Hình 3.6.:Thuật toán tư vấn 5 con cháu hoặc các đột biến của các giải pháp tốt. Thuật toán sẽ kết thúc khi một họ các giải pháp thành công được sinh ra. I.3. ỨNG DỤNG KHAI PHÁ DỮ LIỆU TRONG GIÁO DỤC Hiện đã có rất nhiều nghiên cứu về ứng dụng khai phá dữ liệu cho giáo dục. Những khai phá dữ liệu trong giáo dục đã nổi bật lên như là một lĩnh vực nghiên cứu độc lập trong những năm gần đây, mà cao điểm là năm 2008 với sự thành lập hội nghị quốc tế về khai phá dữ liệu giáo dục, và những bài báo về khai phá dữ liệu giáo. Đó là “Applying Data Mining Techniques to e-Learning Problems” của Félix Castro1, Alfredo Vellido1, Àngela Nebot1, và Francisco Mugica3, “Recommendation in Higher Education Using Data Mining Techniques” của César Vialardi, Javier Bravo, Leila Shafti, Álvaro Ortigosa, “Using Association Rules for Course Recommendation” của Narimel Bendakir và Esma A¨ımeur. Việc ứng dụng khai phá dữ liệu trong giáo dục đóng vai trò rất quan trọng trong việc phát triển giáo dục cũng như trợ giúp đáng kể cho các hoạt động giáo dục. II. LUẬT KẾT HỢP Khai phá luật kết hợp là tìm ra những mối quan hệ kết hợp từ một tập các mục dữ liệu, thông thường từ những cơ sở dữ liệu lớn, đã được giới thiệu năm 1993. Từ đó đến nay, khai phá luật kết hợp đã thu hút nhiều quan tâm của các nhà nghiên cứu, không ngừng được phát triển và đóng vai trò quan trọng trong khai phá tri thức từ cơ sở dữ liệu. Phần này giới thiệu các khái niệm cơ sở, các thuật toán khai phá luật kết hợp. 6 II.1. Các khái niệm cơ sở Kí hiệu I = {i1, i2, …, im} là tập các thuộc tính . D là cơ sở dữ liệu của tập các giao tác, mỗi giao tác T là một tập mục con của tập mục I, T  I. Mỗi giao tác có một định danh duy nhất gọi là TID (Transaction Identification). X={i1, i2,…,ik} I được gọi là một tập mục hay một tập k-mục nếu nó chứa k mục. Một giao tác T được gọi là chứa tập mục X chỉ khi X  T. Mỗi giao tác là một bộ , I là tập mục. Độ hỗ trợ (support) 15  Sinh viên dễ dàng chuyển đổi chuyên ngành mà vẫn được bảo lưu các điểm tương ứng.  Sinh viên chủ động sắp xếp lịch học của mình sao cho phù hợp với sức học, tài chính của mình.  Sinh viên có thể học lại, thi lại các môn với các lớp sau mà không cần tổ chức thi lại. III.2. Kiến trúc hệ tư vấn Kiến trúc chương trình Độ hỗ trợ của một tập mục X trong cơ sở dữ liệu D là tỉ số giữa số các giao tác T  D có chứa tập X và tổng số giao tác trong D (hay là phần trăm của các giao tác trong D có chứa tập mục X), kí hiệu Supp(X). Supp (X)  | T  D : X  T  | |D| Độ hỗ trợ của luật X  Y là tỉ số của số giao tác có chứa X  Y và số giao tác trong cơ sở dữ liệu D, kí hiệu: Supp(XY) Supp (X  Y)  | T  D : X  Y  T | |D| Độ Tin cậy (Confidence) Độ tin cậy của một luật r =X Y là tỉ số (phần trăm) của số giao tác trong D chứa X  Y với số giao tác trong D có chứa tập mục X. Kí hiệu độ tin cậy của một luật là conf (r). Ta có 0  conf  1 Hình 3.1.Kiến trúc của hệ thống tư vấn Giai đoạn 1 (khai phá dữ liệu): Trong giai đoạn này. phần mềm mã nguồn Weka được sử dụng để sinh các luật kết hợp.  Từ dữ liệu thu thập được, ta chỉnh sửa sao cho không mất tính chính xác của dữ liệu  Tạo file dữ liệu định dạng ARFF.  Tải file dữ liệu vào phần mềm mã nguồn mở Weka 14 windows, và hệ điều hành Macintosh . Nó cung cấp một giao diện thống nhất với nhiều thuật toán khác nhau, cùng với các phương pháp cho việc xử lý trước và xử lý sau và dành cho việc đánh giá kết quả của các sơ đồ học trên bất kỳ tập dữ liệu cho trước nào. Weka có thể download từ http://www.cs.waikato.ac.nz/ml/weka Để sử dụng được phần mềm Weka ta phải chuẩn bị dữ liệu dưới dạng file ARFF. Dữ liệu đầu ra có thể được lưu trong file dạng text II.5. Kết luận Trong chương 2 này, chúng ta đã tìm hiểu được các khái niệm cơ bản, các thuật toán khai phá luật kết hợp và tìm hiểu về một phần mềm mã nguồn mở Weka, cách sử dụng Weka để sinh ra luật kết hợp - một phần mềm đang được sử dụng rất phổ biến. III. ỨNG DỤNG KHAI PHÁ DỮ LIỆU VÀO XÂY DỰNG HỆ THỐNG TƯ VẤN LỰA CHỌN MÔN HỌC Phần này giới thiệu về mô hình đào tạo theo tín chỉ, tìm hiểu cách sử dụng phần mềm mã nguồn mở Weka để sinh luật kết hợp. Sau đó xây dựng một hệ thống tư vấn môn học cho Sinh viên III.1. Đặc điểm đào tạo theo tín chỉ  Sinh viên chủ động đăng ký môn học  Sinh viên sẽ tốt nghiệp sau khi hoàn thành khoảng 90 đơn vị trình đại cương, 120 đơn vị trình chuyên ngành 7 Tập mục (Itemset) Tập mục X được gọi là tập mục thường xuyên nếu có Supp(X)  MinSup, ( MinSup là giá trị cho trứoc). Tính chất 1 (Hỗ trợ của các tập con) Giả sử A, B  I là hai tập mục với A  B thì Supp(A)  Supp(B). Tính chất 2. Giả sử A, B là hai tập mục, A, B  I. Nếu B là tập mục thường xuyên và A  B thì A cũng là tập mục thường xuyên. Tính chất 3 A, B là hai tập mục, A  B và A là tập mục không thường xuyên thì B cũng là tập mục không thường xuyên. Luật kết hợp Cho một giao tác, mỗi giao tác là một tập mục, một luật là một biểu thức có dạng XY, với X, Y là các tập mục, X  Y = , X  I, Y  I, X được gọi là tiền đề, Y gọi là kết luận của luật. Một luật X  Y thoả mãn trên D nếu với một support tối thiểu minsup và một ngưỡng confidence tối thiểu minconf cho trước ta phải có: Support (X  Y)  minsup Và Confidence (X Y) minconf (X và Y phải là các tập mục thường xuyên trên D) Tính chất 4 Luật kết hợp không có tính bắc cầu. Nếu X Y và Y  Z thoả trên D thì không thể khăng định X Z thoả mãn trên D Tính chất 5 Luật kết hợp không có tính tách. 8 Nếu X  Y Z thì X Z và Y  Z chưa chắc xảy ra. Tính chất 6 Luật kết hợp không có tính bắc cầu. Nếu X Y và Y  Z thoả trên D thì không thể khăng định X Z thoả mãn trên D. 13 nhớn nhưng k+1 không đủ bộ nhớ. Kích thước của k được ước lượng bằng công thức candidatescCksuport(c)+ số giao tác II.3.2.Thuật toán sinh luật kết hợp For all large k-itemset lk , k2, do begin H1 ={hệ quả của luật từ lk với một item có mặt trong phần hệ quả} Tính chất 7 Nếu luật X (L-X) không thoả độ tin cậy cực tiểu thì luật Y(L-Y) cũng không thoả mãn, với các tập mục Y  X  L. II.2.Mô hình bài toán khai phá luật kết hợp Bài toán xuất phát từ một kho dữ liệu lưu các thông tin về kết quả học tập của sinh viên với mong muốn tìm ra những quy luật lựa chọn các chuyên ngành và các môn tự chọn trong đào tạo tín chỉ một cách hợp lý nhất sao cho đạt kết quả học tập tốt nhất. Khai phá luật kết hợp từ cơ sở dữ liệu được chia thành hai giai đoạn: Dữ liệu vào: Cho trước các tập mục I, cơ sở dữ liệu D, các ngưỡng minsup và minconf. Dữ liệu ra: Tìm tất cả các luật kết hợp X Y trên D thoả mãn: Support (XY)  minsup và confidence (X Y)  minconf. Giai đoạn 1: Tìm tất cả các tập mục thường xuyên (các tập có support lớn hơn hoặc bằng ngưỡng minsup): - Tạo tập các tập mục (itemset), còn gọi là ứng viên (candidate). Yêu cầu tại bước này là tối ưu về kích thước của Call ap_genrules (lk , Hl); End Procedure ap_genrules (lk:large k-itemset, Hm: set of m-item consequents) If (k >m+1) then begin Hm+1 =Apriori_gen(Hm); For all hm+1  Hm+1 do begin Conf = support (lk)/support (lk-hm+1); If (conf minconf) then Output the rule (lk –hm+1)  hm+1 With confidence =conf and support=support(lk); Else Delete hm+1 from Hm+1; End Call ap_genrules (lk, Hm+1); End II.4. Phần mềm mã nguồn mở Weka Weka đã được phát triển ở trường Đại học Waikato ở New Zealand và là tên viết tắt của Waikato Environment for Knowledge Analysis. Hệ thống này được viết bằng Java. Nó chạy trên bấ kỳ platform nào, đã được thử nghiệm với Linux và 12 //sử dụng tập mục phổ biến trước For (mỗi tập con k-1 mục s của c) do If s  Lk-1 then return TRUE; End; Thuật toán AprioriTID L1= {Large 1-itemset}; C’1 = Database D; for (k=2; Lk-1   ; k++) do Begin Ck = apriori_gen(Lk-1); C’k = ; for tất cả t  C’k-1 do begin // xác định tập ứng viên trong Ck chứa trong giao dịch với định //danh t. Tid (Transaction Code) Ct = c  Ck | (c-c[k])  t.Set_of_ItemSets^(c-c[k-1] t.Set_of_ItemSets for những ứng viên c  Ct do c.count ++; if (Ct) then C’k+= < t.Tid, Ct > end Lk = c Ck | c.count  minsup; End return = kLk; Thuật toán AprioriHibrid Thuật toán AprioriHyrid là thuật toán lai của 2 thuật toán Apriori và AprioriTID; nghĩa là ban đầu sử dụng thuật toán Apriori, khi k nhỏ vừa đủ bộ nhớ và số phần tử của tập ứng viên Ck nhỏ hơn Ck-1 thì chuyển sang sử dụng thuật toán AprioriTID. Điều kiện thứ hai để tránh hiện tượng k đủ vộ 9 các tập ứng viên để hạn chế chi phí về bộ nhớ và thời gian. Số lượng các tập ứng viên được khởi tạo phụ thuộc vào đặc thù của mỗi thuật toán. - Đếm số giao dịch hỗ trợ của mỗi tập mục ứng cử (candidate itemset) bằng cách duyệt qua từng giao dịch trên cơ sở dữ liệu. Thuật toán lặp lại quá trình này cho đến khi xác định được các tập mục thường xuyên thoả mãn yêu cầu. Giai đoạn 2: Khai phá luật kết hợp Khi đã thu được các tập mục thường xuyên ở giai đoạn 1, thuật toán sẽ sinh ra các luật bằng cách: - Đếm và tính toán độ hỗ trợ Support cho mỗi tập mục thường xuyên và các tập con (subset) của chúng để tính toán độ tin cậy confidence. - Xây dựng luật: Dựa vào tính chất 2.3, ứng với tập mục thường xuyên, mỗi tập con của nó là tiền đề của một luật, các mục còn lại được đưa vào kết luận của luật. - Chọn luật: Tính toán giá trị confidence của mỗi luật được sinh ra, nếu giá trị này lớn hơn hoặc bằng ngưỡng minconf thì luật đó sẽ được chọn. Thuật toán phát hiện luật kết hợp từ các tập mục thường xuyên cơ bản theo các bước như sau: Dữ liệu vào: I, D, minsup, minconf, L tập các tập mục thường xuyên. Dữ liệu ra: Tất cả những luật kết hợp thoả mãn minsup và minconf 10 11 1. Tìm tất cả những mục con không rỗng X của tập mục thường xuyên l L. Lk = {c  Ck| c.count  minsup} end; return kLk 2. Từ các tập mục X  l, tìm các luật có dạng X  (l-X) có độ hỗ trợ lớn hơn hoặc bằng minsup và độ tin cậy lớn hơn hoặc bằng minconf Hàm apriori-gen Input: tập mục phổ biến Lk-1 có kích thước k-1 Output: tập ứng cử viên Ck Method: II.3. CÁC THUẬT TOÁN CƠ BẢN II.3.1. Các thuật toán sinh tập mục thường xuyên Thuật toán Apriori Các kí hiệu: Lk: Tập các k-mục phổ biến (large k-itemset) Ck: Tập các candidate k-itemset (tập các tập k-mục ứng cử viên). Input: Tập các giao dịch D, ngưỡng support tối thiểu minsup Output: L- tập mục phổ biến trong D Method: L1={large 1-itemset} //tìm tất cả các tập mục phổ biến: nhận được L1 for (k=2; Lk-1  ; k++) do begin Ck=apriori-gen(Lk-1); //sinh ra tập ứng cử viên từ Lk-1 for (mỗi một giao dịch T D) do begin CT = subset(Ck, T); //lấy tập con của T là ứng cử viên trong Ck for (mỗi một ứng cử viên c CT) do c.count++; //tăng bộ đếm tần xuất 1 đơn vị end; function (Lk-1: tập mục phổ biến có kích thước k-1) Begin For (mỗi L1  Lk-1) do For (mỗi L2  Lk-1) do begin If ((L1[1]=L2[1])  (L1[2]=L2[2])  ...  (L1[k2]=L2[k-2])  (L1[k-1]=L2[k1])) then c = L1  L2; // kết nối L1 với L2 sinh ra ứng cử viên c If has_infrequent_subset(c, Lk-1) then remove (c) // bước tỉa (xoá ứng cử viên c) else Ck = Ck  {c}; kết tập c vào Ck end; Return Ck; End; Hàm kiểm tra tập con k-1 mục của ứng cử viên k-mục không là tập phổ biến: function has_infrequent_subset(c: viên k-mục; Lk-1 tập phổ biến k-1 mục) Begin ứng cử
- Xem thêm -

Tài liệu liên quan