Nghiên cứu cách thể hiện Data Mining sử dụng lý thuyết tập thô, tìm hiểu luật kết hợp trong khai thác dữ liệu, demo quá trình khai phá dữ liệu sử dụng thuật toán Apriori

22 777 2
Nghiên cứu cách thể hiện Data Mining sử dụng lý thuyết tập thô, tìm hiểu luật kết hợp trong khai thác dữ liệu, demo quá trình khai phá dữ liệu sử dụng thuật toán Apriori

Đ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 HỌC CÔNG NGHIỆP HÀ NỘI - - Hà Nội, 02/03/2012 Môn: Lý thuyết tập thô ứng dụng Tên đề tài: Nghiên cứu cách thể Data Mining sử dụng lý thuyết tập thơ, tìm hiểu luật kết hợp khai thác liệu, demo trình khai phá liệu sử dụng thuật tốn Apriori Giáo viên hướng dẫn: Th.S Vũ Anh Tú LỚP: KHMT4 – K5 Sinh viên: Nguyễn Ngọc Tuấn BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú MỤC LỤC I LỜI MỞ ĐẦU II CƠ SỞ LÝ THUYẾT TẬP THÔ LIÊN QUAN .4 Khai phá trí thức csdl (Knowdlege Discovery in Databases – KDD) Tập thơ khai phá trí thức Mô tả bước khai phá liệu sử dụng lý thuyết tập thô 3.1 Hiệu chỉnh liệu: 3.2 Rút gọn tập thuộc tính: 3.3 Rút trích tập luật: III KỸ THUẬT KHAI PHÁ DỮ LIỆU SỬ DỤNG LUẬT KẾT HỢP Tổng quan .6 Các khái niệm công thức thể hiện: 2.1 Độ hỗ trợ: 2.2 Độ hỗ trợ tối thiểu: (minsupp) 2.3 Độ tin cậy: 2.4 Độ tin cậy tối thiểu: (minconf) Các bước khai phá luật kết hợp Thuật toán sinh luật kết hợp Apriori (ý tưởng Agrawal and Srikant - 1994) .7 4.1 Định nghĩa 4.2 Tư tưởng thuật toán Apriori .8 4.3 Trình tự cài đặt thuật toán 4.4 Mã giải 11 IV BÀI TOÁN THỰC TẾ 12 TỔNG QUAN BÀI TOÁN ỨNG DỤNG 12 GIẢI QUYẾT BÀI TOÁN SỬ DỤNG TẬP THƠ & THUẬT TỐN APRIORI 13 2.1 Bước 1: Chọn bảng thuộc tính ban đầu: 13 2.2 Bước 2: Hiệu chỉnh liệu, rút gọn tập thuộc tính 13 2.3 Bước 3: Rút trích tập luật - tìm tập phổ biến 15 2.4 Bước 4: Dùng tập phổ biến để tạo luật kết hợp 18 2.5 Kết cuối 21 CÁC HẠN CHẾ CỦA THUẬT TOÁN APRIORI 22 V KẾT LUẬN 22 VI TÀI LIỆU THAM KHẢO 22 Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú I LỜI MỞ ĐẦU Trong thời gian gần đây, để xử lý hệ thống thông tin bao hàm yếu tố mơ hồ, không đầy đủ rời rạc, nhà nghiên cứu đề xuất nhiều phương pháp khác với phương pháp logic cổ điển, ví dụ lý thuyết tập mờ (Fuzzy set theory), lý thuyết tập thơ (Rough set theory), tính tốn hạt (Granular computing) hay phân tích khái niệm hình thức (Formal concept analysis) … Trong phương pháp này, phương pháp tập thô nhiều nhóm khoa học giới quan tâm nghiên cứu phát triển Điều lý giải lý thuyết tập thô xây dựng toán học vững chắc, cung cấp cơng cụ hữu ích để giải tốn phân lớp liệu, phát luật …, đặc biệt phục vụ cho việc nghiên cứu hệ thống thông minh, khai phá liệu Hiện nay, việc nắm bắt thông tin coi sở hoạt động sản xuất, kinh doanh Cá nhân tổ chức thu thập hiểu thông tin hành động dựa thông tin kết xuất từ thơng tin có đạt thành cơng hoạt động Chính lý đó, việc tạo thơng tin, tổ chức lưu trữ khai thác ngày trở nên quan trọng gia tăng không ngừng Sự tăng trưởng vượt bậc sở liệu (CSDL) sống như: thương mại, quản lý khoa học làm nảy sinh thúc đẩy phát triển kỹ thuật thu thập, lưu trữ, phân tích khai phá liệu… khơng phép tốn đơn giản thơng thường như: phép đếm, thống kê… mà đòi hỏi cách xử lý thơng minh hơn, hiệu Từ nhà quản lý có thơng tin có ích để tác động lại trình sản xuất, kinh doanh mình… tri thức Các kỹ thuật cho phép ta khai thác tri thức hữu dụng từ CSDL (lớn) gọi kỹ thuật khai phá liệu (DM – Data Mining) Khai phá luật kết hợp nội dung quan trọng khai phá liệu Kỹ thuật khám phá tri thức khai phá liệu nghiên cứu, ứng dụng nhiều lĩnh vực khác nước giới, Việt Nam kỹ thuật tương đối mẻ nhiên nghiên cứu dần đưa vào ứng dụng Khai phá liệu (Data Mining) coi q trình trích xuất thơng tin có giá trị tiềm ẩn bên lượng lớn liệu lưu trữ CSDL, kho liệu… Hiện nay, thuật ngữ khai phá liệu, người ta dùng số thuật ngữ khác có ý nghĩa tương tự như: Khám phá tri thức từ sở liệu (Knowledge Discovery in Database-KDD), trích lọc liệu (knowlegde extraction), phân tích liệu/mẫu (data/pattern analysis), khảo cổ liệu (data archaeology), nạo vét liệu (data dredging) Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú Báo cáo trình bày số vấn đề khám phá tri thức, khai phá liệu, trình bày rõ vấn đề khai phá luật kết hợp ứng dụng số thuật toán khai phá luật kết hợp CSDL có sử dụng lý thuyết tập thơ II CƠ SỞ LÝ THUYẾT TẬP THƠ LIÊN QUAN Khai phá trí thức csdl (Knowdlege Discovery in Databases – KDD) Khai phá liệu coi thành phần cốt yếu khái niệm khai phá trí thức CSDL KDD khơng phải kỹ thuật Đây khu vực đa ngành, khoa học máy tính, thống kê, cơng nghệ CSDL, hệ thống chuyên gia liệu trực quan tham gia vào Q trình khai phá trí thức CSDL bao gồm giai đoạn: Lựa chọn liệu (Raw Data), Làm liệu (Data Selection), Làm giàu liệu (Pre-Processing), mã hóa, khai thác liệu (DATA MINING) báo cáo (Evaluation/Interpretation) Trong trình làm sạch, sai sót rõ ràng liệu điều chỉnh Trong q trình mã hóa, liệu mã hóa sử dụng thuật toán khai phá liệu Trong trình khai phá liệu, suy luận thực tế diễn Trong trình báo cáo, kết cuối tất nhiên báo cáo, thường hiển thị dạng trực quan hấp dẫn Sơ đồ tiến trình khai phá trí thức CSDL Tập thơ khai phá trí thức Dữ liệu chứa sở liệu giới thực không thu thập với việc tự học hỏi Dữ liệu không chắn giống với tự nhiên, không xác định chứa nhiễu, dẫn đến sai sót trình đo đạc, truyền liệu lỗi gây người trình thu thập liệu Tất đặc tính trình bày đóng góp vào khơng chắn liệu Sự không Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú chắn kiến thức tránh khỏi tình sống, vài tảng khác cho việc lý giải, khai phá với kiến thức không chắn giới thiệu Lý thuyết tập thô tạo thành tảng sở cho vấn đề khai phá trí thức, cung cấp cơng cụ hữu ích cho việc khai phá cho mẫu ẩn CSDL nhiều khía cạnh (Lin Cercone, 1997; Pal Skowron, 1999; Pawlak, 1982; 1991; Skowron Rauszer, 1992), sử dụng giai đoạn khác trình khai phá trí thức, chọn lọc thuộc tính, khai thác thuộc tính, rút gọn tập liệu, sinh bảng định rút trích tập luật (mẫu, luật kết hợp) (Komorowski et al., 1999) Mô tả bước khai phá liệu sử dụng lý thuyết tập thô 3.1 Hiệu chỉnh liệu: Khi nhận dạng liệu có ghi bảng thuộc tính nhận biết lỗi nhập liệu Để xử lý trường hợp này, xem liệu sau định dạng hệ thống thơng tin khơng đầy đủ, điền giá trị thích hợp theo thuật tốn nhóm tác giả Dai Dai, Jiangpeng Wang 3.2 Rút gọn tập thuộc tính: Như biết, từ bảng định có nhiều đối tượng, tập luật định rút trích lớn Để thu gọn tập luật định mà không làm tính đặc trưng bảng định, phương án thu gọn tập thuộc tính 3.3 Rút trích tập luật: Sinh luật định kết quan trọng phần mềm Thuật toán sử dụng để sinh luật dựa tiếp cận tính tốn hạt tác giả Haiyan Yu Daoping Wang Thuật tốn cơng bố so sánh với thuật tốn rút trích liệu khác Tính ưu việt thuật toán việc kết xuất liệu phân lớp, tổ hợp đơn giản) Trong phần mềm demo, luật kết hợp với thuật toán apriori dùng để rút trích tập luật Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú III KỸ THUẬT KHAI PHÁ DỮ LIỆU SỬ DỤNG LUẬT KẾT HỢP Tổng quan Phương pháp nhằm phát luật kết hợp thành phần liệu CSDL Mẫu đầu giải thuật khai phá liệu tập luật kết hợp tìm Các ứng dụng chủ yếu liên quan đến luật kết hợp kể ra: Phân tích bán hàng siêu thị, cross-marketing, thiết kế catalog, lossleader analysis, gom cụm, phân lớp, Có thể lấy ví dụ đơn giản luật kết hợp sau: phân tích CSDL bán hàng nhận thơng tin khách hàng mua máy tính có khuynh hướng mua phần mềm quản lý tài lần mua miêu tả luật kết hợp sau: “Mua máy tính  Mua phần mềm quản lý tài chính” [Độ hỗ trợ: 4%, độ tin cậy: 70%] Độ hỗ trợ độ tin cậy hai độ đo đáng quan tâm luật Chúng tương ứng phản ánh hữu ích chắn luật khám phá Độ hỗ trợ 4% có nghĩa là: 4% tất tác vụ phân tích máy tính phần mềm quản lý tài mua Cịn độ tin cậy 70% có nghĩa 70% khách hàng mua máy tính mua phân mềm quản lý tài Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú Các khái niệm công thức thể hiện: 2.1 Độ hỗ trợ: Là tần suất xuất đồng thời một nhóm phần tử tổng số giao tác support(A ⇒ B [ s, c ]) = p(A∪B) = support ({A,B}) 2.2 Độ hỗ trợ tối thiểu: (minsupp) Là tần suất tối thiểu quy ước phổ biến luật giao tác Nếu minsupp cao, số phần tử phổ biến ít, luật hợp lệ “rất thường xuất hiện” Nếu minsupp thấp, nhiều luật lệ “hiếm” xuất 2.3 Độ tin cậy: Là số phần trăm giao tác có chứa tập B số thao tác chứa tập A confidence(A ⇒ B [ s, c ]) = p(B|A) = p(A∪B) / p(A) = support({A,B}) / support({A}) 2.4 Độ tin cậy tối thiểu: (minconf) Là phần trăm tối thiểu giao tác có chứa tập B số thao tác chứa tập A Nếu minconf cao, luật tất “gần đúng” Nếu minconf thấp, nhiều luật phần lớn không chắn Các bước khai phá luật kết hợp Bước 1: Tìm tập phổ biến: tập phần tử có độ support tối thiểu Bước 2: Dùng tập phổ biến để tạo luật kết hợp Thuật toán sinh luật kết hợp Apriori (ý tưởng Agrawal and Srikant - 1994) 4.1 Định nghĩa Phương pháp sinh ứng viên để tìm tập phổ biến Agrawal [13] đề xuất từ năm 1993 với thuật toán Apriori Ý tưởng thuật toán Apriori dựa kết luận: tập danh mục phổ biến tất tập phải phổ biến (tính chất – tập phổ biến) Do khơng thể có trường hợp tập phổ biến có tập khơng phổ biến hay nói cách khác tập phổ biến nhiều danh mục tạo từ tập phổ biến danh mục Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú 4.2 Tư tưởng thuật tốn Apriori Tư tưởng thuật tốn Apriori là: Tìm tất frequent itemsets: kitemset (itemsets gồm k items) dùng để tìm (k+1)- itemset Đầu tiên tìm 1-itemset (ký hiệu L1) L1 dùng để tìm L2 (2-itemsets) L2 dùng để tìm L3 (3-itemset) tiếp tục khơng có k-itemset tìm thấy Từ frequent itemsets sinh luật kết hợp mạnh (các luật kết hợp thỏa mãn tham số min_sup min_conf) 4.3 Trình tự cài đặt thuật tốn  Duyệt (Scan) tồn transaction database để có support S 1itemset, so sánh S với min_sup, để có 1-itemset (L1)  Sử dụng Lk-1 nối (join) Lk-1 để sinh candidate k-itemset Loại bỏ itemsets frequent itemsets thu k-itemset  Scan transaction database để có support candidate kitemset, so sánh S với min_sup để thu frequent k –itemset (Lk)  Lặp lại từ bước Candidate set (C) trống (khơng tìm thấy frequent itemsets)  Với frequent itemset I, sinh tất tập s không rỗng I  Với tập s không rỗng I, sinh luật s => (I-s) độ tin cậy (Confidence) > =min_conf Chẳng hạn với I= {A1,A2,A5},các tập I: {A1}, {A2}, {A5}, {A1,A2},{A1,A5},{A2,A5} có luật sau: {A1} => {A2,A5},{A2} =>{A1,A5},{A5} =>{A1,A2} {A1,A2} =>{A5},{A1,A5} =>{A2},{A2,A5} => {A1} Ví dụ: Giả sử ta có có sở liệu giao dịch (Transaction Database -TDB) sau : Thuật toán Apriori khai phá luật kết hợp mô tả qua bước sau: Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú Ta có frequent itemsets I ={B,C,E}, với min_conf =80% ta có luật kết hợp {B,C} => {E} {C,E} => {B} Giả sử có sở liệu giao dịch bán hàng gồm giao dịch sau: Thuật tốn Apriori tìm luật kết hợp giao dịch bán hàng sau: Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú Kết ta có luật kết hợp sau (với min_sup= 40%, min_conf=70%): R1: Beer => Diaper (support =60%, confidence = 75%) R2: Diaper =>Beer (support =60%,confidence = 75%) R3: Milk =>Beer (support =40%, confidence = 100%) R4: Baby Powder => Diaper (support =40%,confidence = 100%) Từ kết luật sinh giao dịch bán hàng trên, ta thấy có luật tin (hợp lý) Baby Powder => Diaper, có luật cần phải Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang 10 / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú phân tích thêm Milk =>Beer có luật khó tin Diaper =>Beer.Ví dụ sinh luật khơng thực tế liệu dùng để phân tích (transaction database) hay cịn gọi tranining data nhỏ Thuật toán Apriori dùng để phát luật kết hợp dạng khẳng định (Positive Rule X=>Y) nhị phân (Binary Association Rules) phát luật kết hợp dạng phủ định (Negative Association Rule) chẳn hạn kết hợp dạng “Khách hàng mua mặt hàng A thường KHÔNG mua mặt hàng B” “Nếu ủng hộ quan điểm A thường KHÔNG ủng hộ quan điểm B” Khai phá luật kết hợp dạng phủ định (Mining Negative Association Rules) có phạm vi ứng dụng rộng thú vị Marketing, Health Care Social Network Analysis 4.4 Mã giải  Bước kết hợp: Ck tạo cách kết Lk-1 với  Bước rút gọn: Những tập kích thước (k-1) không phổ biến tập tập phổ biến kích thước k  Mã giả: Ck: Tập ứng viên có kích thước k; Lk : Tập phổ biến có kích thước k L1 = {các phần tử phổ biến}; for (k = 1; Lk !=∅; k++) begin Ck+1 = {các ứng viên tạo từ Lk }; for each giao tác t database tăng số đếm tất ứng viên Ck+1 mà chứa t Lk+1 = {các ứng viên Ck+1 có độ ủng hộ tối tiểu} end return ∪k Lk; Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang 11 / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú IV BÀI TOÁN THỰC TẾ TỔNG QUAN BÀI TOÁN ỨNG DỤNG Một tổ chức đào tạo cho phòng khám kiến thức kỹ chăm sóc người bệnh tạo ứng dụng để lưu lại thơng tin khóa đào tạo, có thơng tin quan trọng tên phòng khám tham gia đào tạo Dựa vào nguồn liệu đó, tổ chức đào tạo muốn dùng luật kết hợp để khai thác độ ủng hộ độ tin cậy tập phòng khám, giúp tổ chức định hướng tốt đối tượng tham gia chương trình lâu dài, bền vững Mơ hình bảng CSDL SQL SERVER: Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang 12 / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú GIẢI QUYẾT BÀI TỐN SỬ DỤNG TẬP THƠ & THUẬT TỐN APRIORI Sử dụng lý thuyết tập thơ thuật toán Apiori cài đặt trực tiếp store procedure SQL server Các bước xây dựng thuật toán sau: 2.1 Bước 1: Chọn bảng thuộc tính ban đầu: CREATE PROCEDURE [dbo].[getTraining_Attendees_SourceData] AS SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY TrainingId) AS 'RowNum', * FROM TRAINING_ATTENDEES) A Bảng thuộc tính ban đầu bao gồm cột (No, TrainingID, ProvinceID, OPCID, NumberOfParticipants) với 603 dòng (bản ghi) 2.2 Bước 2: Hiệu chỉnh liệu, rút gọn tập thuộc tính CREATE PROCEDURE [dbo].[getTraining_Attendees_ProcessData] AS DELETE FROM Training_Attendees_Reduce INSERT INTO Training_Attendees_Reduce /* Loại ghi không phù hợp, bỏ thuộc tính khơng cần thiết ProvineID, NumberOfAttendees */ SELECT TrainingID, OPCID FROM Training_Attendees WHERE OPCID is not null and ProvinceID is not null and NumberOfParticipant > SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY TrainingId) AS 'RowNum', * FROM Training_Attendees_Reduce) A Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang 13 / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú Bảng thuộc tính rút gọn bao gồm cột (No, TrainingID, OPCID) với 571 dòng (bản ghi) Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang 14 / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú 2.3 Bước 3: Rút trích tập luật - tìm tập phổ biến Đầu tiên, tạo store procedure với đầu vào minsup minconf: CREATE PROCEDURE [dbo].[getTraining_AssociateOPCs_Apriori_Conf] @minSup float, @minConf float AS BEGIN /* Tạo bảng tạm lưu phần tử thỏa mãn */ DECLARE @TempCandidate TABLE (RowNum INT IDENTITY, OPCIDs varchar(max), OPCNames nvarchar(max), ItemsCount int, Support float); declare @minItemsMatch float declare @maxItemsMatch int set @minItemsMatch = set @maxItemsMatch = /* Tổng số khóa học có OPC tham dự*/ SELECT @maxItemsMatch = count(*) from training where trainingid in(select trainingid from training_attendees_reduce where OPCID is not null and ProvinceID is not null) /* Số lượng lần tham dự tối thiểu */ SET @minItemsMatch = @maxItemsMatch * @minSup /* Lấy tập mẫu cấp - Level 1*/ INSERT INTO @TempCandidate(OPCIDs, OPCNames, ItemsCount, Support) SELECT OPCID, OPCName, Temp.SessionsCount, ROUND(CONVERT(float,Temp.SessionsCount)/CONVERT(float,@maxItemsMatch), 4)*100 FROM (select distinct B.OPCID, B.OPCName, (select count(*) from training_attendees_reduce C where C.OPCID = A.OPCID) as SessionsCount from training_attendees_reduce A inner join OPC B on A.OPCID = B.OPCID) as Temp where Temp.SessionsCount >= @minItemsMatch order by OPCID /* Khai báo biến cần thiết */ Declare @OPCIDsTemp varchar(max) Declare @OPCNamesTemp nvarchar(max) Declare @SupportTemp varchar(max) Declare @OPCIDsSubTemp varchar(max) Declare @OPCSubNamesTemp nvarchar(max) Declare @counter int Declare @subcounter int Declare @newFounds int Declare @sql nvarchar(max) Declare @OPCNames nvarchar(max) Set @counter = Declare @candidatesCount int Declare @candidatesFirstCount int Declare @candidatesOtherCount int Declare @Pos int Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang 15 / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú Declare @LastCheck varchar(max) /* Gán biến đếm tối đa @candidatesFirstCount để nhằm mục đích ghép phần từ cấp n với phần tử cấp */ Select @candidatesFirstCount = Count(*) from @TempCandidate /* Gán biến đếm tối đa @candidatesCount để nhằm mục đích kiểm tra vịng lặp ngồi tập phần tử phình tối đa khiến điều kiện minSup, minConf khơng thỏa mãn ngừng */ Select @candidatesCount = Count(*) from @TempCandidate ` CREATE TABLE #TempCandidateOther(RowNum INT identity, OPCIDs varchar(max)); /* Chọn phần tử đàu tiên duyệt đến khơng cịn phần tử thỏa mãn đk (@candidatesCount tự mở rộng có phần tử thỏa mãn) */ While @counter = SET @LastCheck = SUBSTRING(@OPCIDsTemp, @Pos, LEN(@OPCIDsTemp)) /* Phần tử Level > */ ELSE SET @LastCheck = @OPCIDsTemp /*Phần tử Level 1*/ /* Tập phần tử cần ghép Level */ INSERT INTO #TempCandidateOther SELECT OPCIDs FROM @TempCandidate where RowNumCONVERT(INT,@LastCheck) SET @subcounter = Select @candidatesOtherCount = Count(*) from #TempCandidateOther /* Bắt đầu chạy vòng lặp để ghép thử phần tử Level với phần tử Các phần tử ghép tiếp thuộc Level ngày bị thu hẹp lại theo thời gian Level cao */ While @subcounter < @candidatesOtherCount BEGIN SELECT @OPCIDsSubTemp = @OPCIDsTemp + ',' + OPCIDs from #TempCandidateOther where Rownum = @subcounter + Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang 16 / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú SET @newFounds = /* Kiểm tra xem tập phần tử đồng thời tham dự khóa học lần */ set @sql = N'SELECT @i=Count(*) FROM (select trainingid from ( select distinct trainingid, OPCID from training_attendees_reduce where OPCID in(' + @OPCIDsSubTemp + ')) as Temp Group by Trainingid having count(*) = (len(''' + @OPCIDsSubTemp + ''') len(replace(''' + @OPCIDsSubTemp + ''','','','''')) + 1)) as ABC' EXEC SP_EXECUTESQL @sql, N'@i int output', @newFounds output /* Nếu thỏa mãn điều kiện minSup */ IF @newFounds >= @minItemsMatch BEGIN SET @OPCNames = null; SET @sql = 'SELECT @OPCNames = COALESCE(@OPCNames + '', '', '''') + A.OPCName FROM OPC A WHERE A.OPCID in(' + @OPCIDsSubTemp + ')' /* Thêm vào phần tử thỏa mãn đk minSup */ EXEC SP_EXECUTESQL @sql, N'@OPCNames nvarchar(max) output', @OPCNames output INSERT INTO @TempCandidate(OPCIDs, OPCNames, ItemsCount, Support) VALUES(@OPCIDsSubTemp, @OPCNames, @newFounds, ROUND(CONVERT(float,@newFounds)/CONVERT(float,@maxItemsMatch), 4)*100) END SET @subcounter = @subcounter + END /* Xóa bảng tạm, cắt bỏ hết liệu đánh lại identity cho trường ROWNUM lại từ đầu */ DELETE FROM #TempCandidateOther truncate table #TempCandidateOther Set @counter = @counter + /* Cập nhật biến @candidatesCount để tiếp tục mở rộng vùng duyệt có phần tử thêm vào */ Select @candidatesCount = Count(*) from @TempCandidate END Đến bước này, ta thử kiểm tra tập liệu có độ ủng hộ tối thiểu (vd: 0.4) trở lên có dạng ví dụ sau: Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang 17 / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú 2.4 Bước 4: Dùng tập phổ biến để tạo luật kết hợp /* Tạo bảng tạm lấy liệu từ bảng kết từ bước thỏa mãn điều kiện tập khơng trùng với tập xét có thỏa mãn độ phổ biến tối thiểu sinh tập độ tin cậy tối thiểu tập xét không */ CREATE TABLE #TempConfOther(RowNum INT identity, OPCIDs varchar(max), OPCNames nvarchar(max), Support float); /* Tạo biến bảng lưu trữ phần tử thỏa mãn độ tin cậy độ phổ biến */ DECLARE @TempCandidateConf TABLE (RowNum INT identity, OPCIDs varchar(max), OPCNames nvarchar(max), OPCIDsConf varchar(max), OPCNamesConf nvarchar(max), Support float, Confidence float); DECLARE @conf_counter int DECLARE @count_supitem int DECLARE @count_associate int DECLARE @confTemp float SET @conf_counter = SET @count_supitem = SET @OPCIDsSubTemp = '' /* Duyệt tập phổ biến bước */ WHILE @conf_counter = @minItemsMatch BEGIN /* Đưa vào bảng tập kết thỏa mãn */ INSERT INTO @TempCandidateConf VALUES(@OPCIDsTemp, @OPCNamesTemp, @OPCIDsSubTemp, @OPCSubNamesTemp, ROUND(CONVERT(float,@count_associate)/CONVERT(float,@maxItemsMatch), 4)*100, ROUND(@confTemp, 4) * 100) END SET @subcounter = @subcounter + END Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang 19 / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú /* Xóa bảng tạm, cắt bỏ hết liệu đánh lại identity cho trường ROWNUM lại từ đầu */ DELETE FROM #TempConfOther truncate table #TempConfOther SET @conf_counter = @conf_counter + END /* Hiển thị liệu cuối */ SELECT * FROM @TempCandidateConf END Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang 20 / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú 2.5 Kết cuối Bảng kết với Min Support = 40% Min Confidence = 70% Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang 21 / 22 BÀI TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú CÁC HẠN CHẾ CỦA THUẬT TOÁN APRIORI • Tiêu tốn thời gian để duyệt sở liệu số lượng mẫu cấp lớn độ phổ biến nhỏ dẫn đến tập kết phần tử cần phải duyệt lớn gây tiêu tốn thời gian, chí tràn nhớ • Đọc CSDL nhiều lần việc phát sinh phải kiểm tra lượng lớn ứng viên  Cách Khắc phục: Dùng phương pháp không sinh ứng viên phương pháp FP—Tree (Freequence Pattern Tree) V KẾT LUẬN Báo cáo trình bày tổng quan nét đặc trưng việc sử dụng luật tập thô luật kết hợp để khai phá liệu cách sử dụng thuật toán Apriori Về mặt lý thuyết, khai phá tri thức bao gồm bước: Hình thành, xác định định nghĩa tốn; thu thập tiền xử lý liệu; khai phá liệu, rút tri thức; sử dụng tri thức phát Trong trình thực báo cáo, em cố gắng tập trung tìm hiểu tham khảo tài liệu liên quan Tuy nhiên, với thời gian trình độ có hạn nên khơng tránh khỏi hạn chế thiếu sót Chúng em mong nhận xét góp ý thầy Vũ Anh Tú bạn bè lớp để báo cáo em hoàn thiện Em xin chân thành cảm ơn thầy hướng dẫn em hoàn thành báo cáo VI TÀI LIỆU THAM KHẢO [1] Nguyễn Đức Thuần (2010) – Phủ tập thô độ đo đánh giá hiệu tập luật định - Luận án Tiến sĩ Tốn học, Viện Cơng Nghệ Thơng Tin [2] Hrudaya Ku Tripathy, B K Tripathy, and Pradip K Das - An Intelligent Approach of Rough Set in Knowledge Discovery Databases - World Academy of Science, Engineering and Technology 35 2007 [3] Introduction to Data Mining (Pang-Ning Tan, Michael Steinbach, Vipin Kumar) - 2006 - Pearson Addison-Wesley Nguyễn Ngọc Tuấn – Lớp KHMT4 – K5 Trang 22 / 22 ... khám phá tri thức, khai phá liệu, trình bày rõ vấn đề khai phá luật kết hợp ứng dụng số thuật toán khai phá luật kết hợp CSDL có sử dụng lý thuyết tập thô II CƠ SỞ LÝ THUYẾT TẬP THƠ LIÊN QUAN Khai. .. TẬP LỚN – LÝ THUYẾT TẬP THÔ VÀ ỨNG DỤNG – TẬP THÔ VÀ LUẬT KẾT HỢP Giáo viên hướng dẫn: Th.S Vũ Anh Tú III KỸ THUẬT KHAI PHÁ DỮ LIỆU SỬ DỤNG LUẬT KẾT HỢP Tổng quan Phương pháp nhằm phát luật kết. .. việc sử dụng luật tập thô luật kết hợp để khai phá liệu cách sử dụng thuật toán Apriori Về mặt lý thuyết, khai phá tri thức bao gồm bước: Hình thành, xác định định nghĩa toán; thu thập tiền xử lý

Ngày đăng: 15/06/2015, 22:08

Từ khóa liên quan

Mục lục

  • Tên đề tài: Nghiên cứu cách thể hiện Data Mining sử dụng lý thuyết tập thô, tìm hiểu luật kết hợp trong khai thác dữ liệu, demo quá trình khai phá dữ liệu sử dụng thuật toán Apriori

  • Giáo viên hướng dẫn: Th.S Vũ Anh Tú

  • LỚP: KHMT4 – K5

  • I. LỜI MỞ ĐẦU

  • II. CƠ SỞ LÝ THUYẾT TẬP THÔ LIÊN QUAN

    • 1. Khai phá trí thức trong csdl (Knowdlege Discovery in Databases – KDD)

    • 2. Tập thô trong khai phá trí thức

    • 3. Mô tả các bước khai phá dữ liệu sử dụng lý thuyết tập thô

      • 3.1. Hiệu chỉnh dữ liệu:

      • 3.2. Rút gọn tập thuộc tính:

      • 3.3. Rút trích tập luật:

      • III. KỸ THUẬT KHAI PHÁ DỮ LIỆU SỬ DỤNG LUẬT KẾT HỢP

        • 1. Tổng quan

        • 2. Các khái niệm và công thức thể hiện:

          • 2.1. Độ hỗ trợ:

          • 2.2. Độ hỗ trợ tối thiểu: (minsupp)

          • 2.3. Độ tin cậy:

          • 2.4. Độ tin cậy tối thiểu: (minconf)

          • 3. Các bước khai phá luật kết hợp

          • 4. Thuật toán sinh các luật kết hợp Apriori (ý tưởng của Agrawal and Srikant - 1994)

            • 4.1. Định nghĩa

            • 4.2. Tư tưởng chính của thuật toán Apriori

            • 4.3. Trình tự cài đặt thuật toán

            • 4.4. Mã giải

            • IV. BÀI TOÁN THỰC TẾ

              • 1. TỔNG QUAN BÀI TOÁN ỨNG DỤNG

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

Tài liệu liên quan