VŨ VĂN TUẤN KHAI PHÁ LUẬT KẾT HỢP NHỊ PHÂN, ỨNG DỤNG SẮP XẾP CÁC LOẠI TÀI LIỆU PHỤC VỤ ĐỌC GIẢ LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH HÀ NỘI, 2018... VŨ VĂN TUẤN KHAI PHÁ LUẬT KẾT HỢP N
Trang 1VŨ VĂN TUẤN
KHAI PHÁ LUẬT KẾT HỢP
NHỊ PHÂN, ỨNG DỤNG SẮP XẾP CÁC
LOẠI TÀI LIỆU PHỤC VỤ ĐỌC GIẢ
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
HÀ NỘI, 2018
Trang 2VŨ VĂN TUẤN
KHAI PHÁ LUẬT KẾT HỢP
NHỊ PHÂN, ỨNG DỤNG SẮP XẾP CÁC LOẠI TÀI LIỆU PHỤC VỤ ĐỌC GIẢ
Chuyên ngành: Khoa học máy tính
Mã số: 8 48 01 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học: PGS TS Lê Huy Thập
HÀ NỘI, 2018
Trang 3Em cũng xin gửi lời cảm ơn chân thành đến tất cả các thầy cô giáo phòng Sau đại học trường Đại học Sư phạm Hà Nội 2 và các thầy cô bộ môn
đã tận tình giúp đỡ, giảng dạy, cung cấp cho em những kiến thức quý giá trong thời gian học tập tại trường
Cuối cùng xin cảm ơn gia đình, bạn bè, đồng nghiệp đã động viên và giúp đỡ trong thời gian học tập cũng như thời gian thực hiện làm luận văn
Hà Nội, tháng 11 năm 2018
Tác giả
Vũ Văn Tuấn
Trang 4ai công bố trong bất kỳ công trình nào khác
Hà Nội, tháng 11 năm 2018
Tác giả
Vũ Văn Tuấn
Trang 5DL Dữ Liệu
Trang 6Bảng 1.4.Bảng chân trị của p (q r) 6
Bảng 1.5 Chân trị của p q và p q 9
ảng 2.1 d cơ sở dữ liệu 6 giao dịch 25
ảng 2.2 ảng c c m c và độ hỗ trợ 26
ảng 2.3 T nh độ hỗ trợ và độ tin cậy 28
ảng 2.4 C c tập ph biến 28
ảng 2.5 Luật kết hợp sinh ra từ tập ph biến E 30
ảng 2.6 Th hiện c c giao dịch thực tế 32
ảng 2.7 ảng tập c c giao dịch c th 33
ảng 2.8 ảng tập m c và độ hỗ trợ 34
ảng 2.9 Tập c c m c ph biến trong bảng 2.8 34
ảng 2.10 ài to n ph t hiện luật kết hợp 35
Bảng 2.11 Bảng mua hàng của khách hàng 36
Bảng 2.12 Thông tin nhị phân từ bảng 2.11 36
ảng 2.13 ảng mua hàng của kh ch 53
ảng 2.14 Thông tin nhị phân từ bảng 2.13 54
Bảng 2.15 Các luật kết hợp từ hệ thông tin nhị phân mua bán hàng hoá 59
Bảng 2.16 Các luật kết hợp mua bán hàng hoá 59
Trang 7Hình 3.3 Các giao diện nhập số các m c dữ liệu và dữ liệu dạng nhị phân 67
Hình 3.4 Giao diện và kết quả của 6 data item 6 transaction 68
Hình 3.5 Giao diện kết quả của 5 data item 6 transaction 69
Hình 3.6 Giao diện kết quả của 5 data item 4 transaction 70
Hình 3.7 Giao diện kết quả của 4 data item 4 transaction 71
Hình 3.8 Giao diện kết quả của 5 data item 5 transaction 71
Trang 81 1 1 hái ni m v m nh v h n tr 3
1 1 2 á ph p toán m nh 3
1 1 3 i u th ogi 5
1 1 4 á uật ủa ogi v á quy tắ thay thế 7
1 1 5 á dạng hính tắ 9
1.2 Khai ph dữ liệu 11
1 2 1 hái quát hai phá d i u 11
1 2 2 nh ngh a hai phá d i u 11
1 2 3 á ủa quá tr nh hai phá d i u 13
1 2 4 hi m v trong hai phá d i u 14
1.3 T ng Quan về Visual Basic 6.0 15
1 3 1 Sơ ợc v Visual Basic.Net 15
1.3.2 Biến hằng và các ki u d li u 16
1.3.3 Cấu trú i u khi n 20
1.4 Kết luận chương 1 23
Chương 2: Khai ph luật kết hợp 24
2.1 ài to n ph t hiện luật kết hợp 24
2 1 1 uật ết hợp 24
2 1 2 hát i u i toán uật ết hợp 29
Trang 92.2.3 Thuật toán phát hi n tập chỉ báo và luật kết hợp nh phân 48
2.3 Luật kết hợp nhị phân trong khai ph dữ liệu 51
2.4 Kết luận chương 2 59
Chương 3 Chương trình thử nghiệm luật kết hợp nhị phân chỉ dẫn sắp xếp các loại tài liệu 61
3.1 C c phương ph p bố trí các tài liệu trong c c thư viện, cửa hàng bán sách 61
3 1 1 á ph ơng pháp trí các tài li u trong á th vi n, c a hàng sách 61
3.1.2 Tìm hi u danh m c tham khảo tài li u trong các công trình: Báo chí, báo cáo, giáo trình, sách nghiên c u 63
3.2 Lập trình đề mô 65
3 2 1 Sơ ồ thuật Toán 65
3.2.2 Các giao di n và kết quả của h ơng tr nh 66
3.3 Kết luận h ơng 3 71
Kết Luận à Hướng Phát Tri n 73
Tài Liệu Tham Khảo 74
Trang 101 Lý do chọn đề tài
Khai phá dữ liệu hiện nay đã trở thành một trong những lĩnh vực được các nhà khoa học quan tâm nghiên cứu bới tính ứng d ng cao trong thực tiễn cuộc sống Khai phá dữ liệu được ứng d ng rộng rãi trong nhiều lĩnh vực như: Tài chính và thị trường chứng khoán, thương mại, giáo d c, y tế, sinh học, bưu ch nh viễn thông với nhiều hướng tiếp cận như: Phân lớp dự đo n, phân c m, Luật kết hợp
Trong khi mượn tài liệu tại thư viện, mua tài liệu tại các cửa hàng tài liệu hoặc các kết nối (link) khi tìm kiếm trên mạng, người ta thường mượn hoặc mua, nhiều tài liệu cùng một lúc và thường có các tài liệu này có liên quan với nhau Vì vậy việc bố trí chỗ sắp xếp tài liệu như thế nào đ hợp lý là một vấn đề cần nghiên cứu Điều này cần đến sự hỗ trợ của hệ chuyên gia và của khai phá dữ liệu, đặc biệt là luật kết hợp nhị phân
Xuất phát từ những l do đ , em đã quyết định lựa chọn đề tài: ―Khai phá luật kết hợp nhị phân, ứng d ng sắp xếp các loại tài liệu ph c v đọc giả‖ cho đề tài luận văn thạc sĩ
2 Mục đích nghiên cứu (Các kết quả cần đạt đƣợc)
Nghiên cứu t ng quan về khai phá luật nhị phân và các thuật toán liên quan như: priori, priori-TID Lập trình chỉ ra sự liên quan của các tài liệu trong ―giao dịch‖ (mượn, mua hay tạo các link) theo luật kết hợp nhị phân
3 Nhiệm vụ nghiên cứu
Trang 11Tìm hi u về khai phá luật kết hợp nhị phân, các thuật toán Apriori, Apriori-TI trong trường hợp nhị phân
4 Đối tượng và phạm vi nghiên cứu
Khai phá dữ liệu, hệ chuyên gia, logic toán , tìm hi u về cách sắp xếp
tài liệu trong thư viện, cửa hàng sách,
5 Phương pháp nghiên cứu
ùng phương ph p nghiên cứu lý luận: thông qua việc đọc các tài liệu trên sách, báo các công trình nghiên cứu đã c đi tới xây dựng cơ sở lý thuyết của luận văn, c c phương ph p giải quyết các vấn đề khi làm luận văn
Phương ph p nghiên cứu thực nghiệm: Áp d ng thực tế những nghiên cứu, thử nghiệm chương trình đ có kết quả c th
6 Bố cục luận văn
Nội dung của luận văn được trình bày trong 3 chương và phần kết luận:
Chương 1: Cơ sở lý thuyết Trong đ giới thiệu t ng quan về logic toán học về quá trình khai phá dữ liệu, giới thiệu ngôn ngữ lập trình là cơ sở đi đến chương 2 của luận văn
Chương 2: Khai ph luật kết hợp Chương 2 của luận văn trình bày t ng quan về bài toán phát hiện luật kết hợp, giới thiệu thuật toán Apriori, Apriori-TID, trình bày về luật kết hợp nhị phân
Chương 3: Chương trình thử nghiệm luật kết hợp nhị phân chỉ dẫn sắp xếp các loại tài liệu Chương 3 của luận văn trình bày c c phương ph p bố trí các tài liệu trong c c thư viện, cửa hàng bán sách Lập trình đề mô chương trình, sơ đồ thuật toán, các giao diện và kết quả chương trình
Trang 12Chương Cơ sở thu ết L gic t án học
c
Mệnh đề to n học cũng chỉ c hai gi trị: Đúng hoặc Sai Gi trị đúng hoặc sai của một mệnh đề được gọi là chân trị của mệnh đề Chân trị đúng được viết là 1, chân trị sai được viết là 0
Mệnh đề sơ cấp e e entar proposition)
Là mệnh đề không th phân nh hơn được nữa - c th n i đ là ph t
c
Ph p ph định
Ph p phủ định làm cho một mệnh đề c chân trị đúng trở thành đúng trở thành sai và ngược lại Ph p phủ định thường được dùng với k hiệu ¬, −, ;
Ph p h i
Hội của hai mệnh đề p và q, được k hiệu p q:
Chân trị của p q là 1 khi cả p lẫn q đều c chân trị 1
Ph p tu n
Phép tuy n của mệnh đề p và mệnh đề q ký hiệu là p q
Trang 13Nhận xét:1 Mệnh đề p q chỉ có chân trị 0 khi cả p và q đều có chân trị 0
2 Mệnh đề p p luôn có chân trị 1, tức là mệnh đề p p luôn luôn đúng
3 Phép loại trừ của mệnh đề p và q được ký hiệu p q
Phép kéo theo
Ph p k o theo, c nghĩa là ―Nếu thì ‖, k hiệu là p q (Nếu mệnh đề p thì q được x c định theo bảng chân trị sau: (bảng 6)
Ghi chú: Ngoài c ch n i ―Nếu p thì q‖ của phép p q, người ta còn có các
c ch n i tương đương như sau:
1 ―q nếu p‖
2 ―p chỉ nếu q‖
3 ―p là điều kiện đủ cho q‖
4 ―q là điều kiện cần cho p‖
Phép kéo theo 2 chi u ( ươ g ươ g)
Phép kéo theo 2 chiều, c nghĩa là ―Nếu và chỉ nếu‖, được ký hiệu là p
Trang 14Bảng 1.1 Các phép toán mệnh đề
Mức ưu ê của các phép toán logic
Thứ tự ưu tiên của c c ph p to n logic được liệt kê theo mức yếu dần
từ trên xuống dưới ở bảng 1.2
Ký hiệu phép toán Nghĩa của phép toán
, K o theo, tương đương
Bảng 1.2 Mức ƣu tiên c a các phép toán logic
Ghi chú: Các phép toán trong cùng một dòng có thứ tự nhập nh ng (không rõ ràng) vì vậy khi dùng chúng cần lưu b sung thêm dấu ( đ chỉ
- Các biến mệnh đề hoặc các bi u thức logic
- Các phép toán logic và các dấu ( )
Ví d 1.2: Cho p, q, r là các biến mệnh đề logic, F, G, H là các bi u thức logic Khi đ :
E = (p ( q r) ) (r s),
Trang 15Hai bi u thức logic E và F được gọi là tương đương với nhau và viết E
F khi E và F có cùng chân trị
Trang 16Đ ki m tra xem 2 bi u thức logic c tương đương với nhau hay không
ta nên lập bảng chân trị cho 2 bi u thức đ , dựa vào kết qủa đ rút ra kết luận Hoặc chứng minh bi u thức này có th biến đ i đ được bi u thức kia và ngược lại
4 c uậ của g c c c quy ắc ay ế
7 Luật kéo theo: p q p q
8 Luật tương đương: p q (p q) (q p)
9 Các luật đơn giản của phép tuy n ( ):
Trang 17p 1 p
p 0 0
p (p q) p
Các qu tắc tha thế
Quy tắc 1: (Quy tắc thay thế ươ g ươ g)
Cho E là bi u thức logic, nếu thay thế một biến hoặc bi u thức con của
nó bởi 1 bi u thức tương đương với bi u thức con đ , bi u thức logic E‘ mới nhận được sẽ tương đương với E
Ví d 1.5: E = p q
Vì q q, do đ ta c th thay thế q bởi q vào E và được
E‘ = p q Dùng bảng chân trị cho E và E‘ ta sẽ thấy E E‘
Quy tắc 2: (Tính bất biế ối với bi u thức logic hằ g ú g)
Cho E là một bi u thức h ng đúng, nếu thay thế một mệnh đề p nào đ trong E bởi 1 bi u thức logic bất kỳ ta sẽ nhận được bi u thức logic E‘ mới cũng là h ng đúng
Trang 18Bảng 1.5 Chân trị c a p q và p q
Bây giờ ta thay thế q trong E bởi q r ta sẽ được:
E‘ = (p (q r)) ( p (q r)) theo quy tắc 2 ta cũng c E‘ 1 (h ng đúng
Ví dụ ứng dụng
Ví dụ 1.6:Chứng minh r ng: (p q) ( q p)
Giải: (p q) p q (theo luật kéo theo)
mà p q q p (theo luật giao hoán)
vậy (p q) q p (theo luật bắc cầu)
q p q p (theo luật phủ định)
mà q p q p (theo luật kéo theo)
hay q p q p
Vậy (p q) q p (Điều phải c/m)
5 c dạ g c í ắc
Bi u thức h i cơ bản và tu n cơ bản
Bi u thức hộ cơ bản
Bi u thức logic F = F (p1, p2, pn , trong đ pi ( ) là các biến mệnh đề sơ cấp, được gọi là bi u thức hội cơ bản, nếu:
F = q1 q2 qnvới qi = pi hoặc qi =pi ( )
Ví d 1.7: F (x, y, z) = x y z, trong đ x, y, z là c c biến mệnh đề sơ cấp
n
i 1 ,
n
i 1 ,
Trang 19Ví d : E (x, y, z) = x y z, trong đ x, y, z là c c biến mệnh đề sơ cấp
Bi u thức gic chu n tu n và chu n h i
Bi u thức logic chuẩn tuy n
Bi u thức logic E = E (p1, p2, pn , trong đ pi ( ) là các biến mệnh đề sơ cấp, được gọi là dạng chuẩn tuy n, nếu:
E = E1 E2 Entrong đ mỗi Ei ( ) là một bi u thức hội cơ bản của các pi ( )
Ví d 1.8: E (x, y, z) = (x y z) (x y z) (x y z) là bi u thức chuẩn tuy n vì E1 = (x y z), E2 = (x y z) và E3 = (x y z) là các
bi u thức hội cơ bản
Đ nh lý: Mọi bi u thức logic E (p1, p2, pn đều tương đương với một
bi u thức chuẩn tuy n duy nhất Tức là E (p1, p2, .pn ) E1 E2 . Em
(duy nhất ) với Ei ( ) là các bi u thức hội cơ bản
Ei = q1 q2 qnvới qi = pi hoặc qi =pi ( )
Bi u thức logic chuẩn hội
Bi u thức logic F = F (p1, p2, pn , trong đ pi ( ) là các biến mệnh đề sơ cấp, được gọi là chuẩn hội, nếu:
Trang 20Ví d 1.9: F (p1, p2, p3) = (p1p2 p3) (p1 p2 p3) (p1 p2 p3) là bi u thức chuẩn hộivì F1 = (p1p2 p3), F2 = (p1 p2 p3) và F3 = (p1 p2 p3) là các bi u thức tuy n cơ bản
Đ nh lý: Mọi bi u thức logic F (p1, p2, .pn đều tương đương với một
bi u thức chuẩn hộiduy nhất Tức là F (p1, p2, pn )F = F1 F2 Fm
(duy nhất ) với Fi ( ) là các bi u thức tuy n cơ bản
hay Fi = q1 q2 qnvới qi = pi hoặc qi =pi ( )
Khai phá dữ iệu
qu a d u
Thông thường chúng ta coi dữ liệu như một dãy các bit, hoặc các số và các ký hiệu, hoặc c c ―đối tượng‖ với một nghĩa nào đ khi được gửi cho một chương trình dưới một dạng nhất định Chúng ta sử d ng các bit đ đo lường c c thông tin và xem n như là c c dữ liệu đã được lọc b c c dư thừa, được rút gọn tới mức tối thi u đ đặc trưng một c ch cơ bản cho dữ liệu Chúng ta có th xem tri thức như là c c thông tin t ch hợp, bao gồm các sự kiện và các mối quan hệ giữa chúng Các mối quan hệ này có th được hi u
ra, có th được phát hiện, hoặc có th được học Nói cách khác, tri thức có th được coi là dữ liệu c độ trừu tượng và t chức cao
Phát hiện tri thức trong các CSDL là một qui trình nhận biết các mẫu hoặc các mô hình trong dữ liệu với c c t nh năng: hợp thức, mới, có ích, và có
th hi u được Còn khai thác dữ liệu là một bước trong qui trình phát hiện tri thức gồm có các thuật toán khai thác dữ liệu chuyên dùng dưới một số qui định về hiệu quả tính toán chấp nhận được đ tìm ra các mẫu hoặc các mô hình trong dữ liệu Nói một cách khác, m c đ ch của phát hiện tri thức và khai phá dữ liệu chính là tìm ra các mẫu và/hoặc c c mô hình đang tồn tại trong
c c CS L nhưng vẫn còn bị che khuất bởi hàng núi dữ liệu
Trang 21Khai phá dữ liệu được dùng đ mô tả quá trình phát hiện ra tri thức trong CSDL Quá trình này kết xuất ra các tri thức tiềm ẩn từ dữ liệu giúp cho việc dự báo trong kinh doanh, các hoạt động sản xuất, Khai phá dữ liệu làm giảm chi phí về thời gian so với phương ph p truyền thống trước kia (ví d như phương ph p thống kê Sau đây là c c định nghĩa mang t nh mô tả của nhiều tác giả về khai phá dữ liệu:
nh ngh a ủa Ferruzza:―Khai ph dữ liệu là tập hợp c c phương
ph p được dùng trong tiến trình khám phá tri thức đ chỉ ra sự khác biệt các mối quan hệ và các mẫu chua biết bên trong dữ liệu‖
nh ngh a ủa Parsaye: ―Khai ph dữ liệu là quá trình trợ giúp quyết
định, trong đ chủng ta tìm kiếm các mẫu thông tin chua biết và bất ngờ trong CSDL lớn‖
nh ngh a ủa Fayyad: ―Khai ph tri thức là một quá trình không tầm
thuờng nhận ra những mẫu dữ liệu có giá trị, mới, hữu ích, tiềm năng và c
th hi u đuợc‖
Các ứng d ng của khai phá dữ liệu
Phát hiện tri thức và khai phá dữ liệu liên quan đến nhiều ngành, nhiều lĩnh vực: thống kê, trí tuệ nhân tạo, CSDL, thuật toán, tính toán song song Khai phá dữ liệu có nhiều ứng d ng trong thực tế, ví d nhu: Bảo hi m, tài chính và thị truờng chứng khoán: phân tích tình hình tài chính và dự báo giá của các loại c phiếu trong thị trường chứng khoán Danh m c vốn và giá, lãi suất, dữ liệu thẻ tín d ng, phát hiện gian lận,
Thống kê, phân tích dữ liệu và hỗ trợ ra quyết định:
Điều trị y học và chăm s c y tế: một số thông tin về chuẩn đo n bệnh lưu trong c c hệ thống quản lý bệnh viện Phân tích mối liên hệ giữa các triệu chứng bệnh, chuẩn đo n và phương ph p điều trị
Sản xuất và chế biến: Quy trình, phương ph p chế biến và xử lý sự cố
Trang 22Text mining và Web mining: Phân lớp văn bản và các trang Web, tóm tắt vãn bản
Lĩnh vực khoa học: Quan s t thiên văn, dữ liệu gene, dữ liệu sinh vật học, tìm kiếm, so sánh các hệ gene và thông tin di truyền, mối liên hệ gene và một số bệnh di truyền,
1.2.3 c bước của qu a d u
Quy trình phát hiện tri thức thường tuân theo c c bước :
Bước t: Hình thành, x c định và định nghĩa bài to n Là tim hi u
lĩnh vực ứng d ng từ đ hình thành bài to n, x c định các nhiệm v càn phải hoàn thành ước này sẽ quyết định cho việc rủt ra được các tri thức hữu ích
và cho phép chọn c c phương ph p khai ph dữ liệu thích hợp với m c đ ch ứng d ng và bản chất của dữ liệu
Bước hai : Thu thập và xử l dữ liệu, là thu thập và xử l thô còn được
gọi là tiền xử l dữ liệu nh m loại b nhiễu, xử l việc thiếu dữ liệu, biến đ i
dữ liệu và rút gọn dữ liệu khi cần, ở bước này thường chiếm nhiều thời gian trong toàn bộ quy trình ph t hiện tri thức ữ liệu được lấy từ nhiều nguồn
kh c nhau, không hề đồng nhất, c th gây nhầm lẫn Sau bước này, dữ liệu sẽ đồng nhất, đã rut gọn và rời rạc
Bước ba: Khai phá dữ liệu, rút ra các tri thức Là khai phá dữ liệu, hay
nói cách khác là trích ra các mẫu và các mô hình ẩn dưới các dữ liệu Giai đoạn này rất quan trọng, bao gồm c c công đoạn như: chức năng, nhiệm v và
m c đ ch của khai phá dữ liệu, dùng phương ph p khai ph nào? Thông thường, các bài toán khai phá dữ liệu bao gồm: các bài toán mang tính mô tả - đưa ra t nh chất chung nhất của dữ liệu, các bài toán dự báo - bao gồm cả việc phát hiện các suy diễn dựa trên dữ liệu hiện có
Bước bốn: Là hi u tri thức đã tìm được, đặc biệt là làm sáng t các mô
tả và dự đo n C c bước trên có th lặp đi lặp lại một số lần, kết quả thu được
Trang 23có th được lấy trung bình trên tất cả các lần thực hiện
Bước nă : Sử d ng các tri thức phát hiện được Là hi u tri thức đã tìm
được, đặc biệt là làm sáng t các mô tả và dự đo n C c bước trên có th lặp
đi lặp lại một số lần, kết quả thu được có th được lấy trung bình trên tất cả các lần thực hiện Các kết quả của quá trình phát hiện tri thức có th được đưa
và ứng d ng trong c c lĩnh vực khác nhau Do các kết quả có th là các dự
đo n hoặc các mô tả nên chủng có th được đưa vào c c hệ thống hỗ trợ ra quyết định nh m tự động hoá quá trình này
Là việc dùng một hàm dự b o đ từ các mẫu dữ liệu đã c hàm dự báo
sẽ cho một giá trị thực Nhiệm v của hồi quy tuơng tự nhu phân lớp, đi m khác nhau chính là ở chỗ thuộc t nh đ dự báo là liên t c chứ không phải rời rạc Việc dự báo các giá trị số thuờng đuợc làm bởi c c phuơng ph p thống kê
c đi n, chẳng hạn nhu hồi quy tuyến t nh Tuy nhiên, phuơng ph p mô hình
ho cũng đuợc sử d ng, ví d : cây quyết định
Ứng d ng của hồi quy là rất nhiều: dự báo thời tiết, uớc luợng sác xuất nguời bệnh có th chết b ng cách ki m tra các triệu chứng; dự báo nhu cầu của nguời dùng đối với một sản phẩm, khoáng sản v,v,
Phân nhó
Trang 24Là việc mô tả chung đ tìm ra các tập hay các nhóm, loại mô tả dữ liệu Các nhóm có th tách nhau hoặc phân cấp hay gối lên nhau C nghĩa là dữ liệu có th vừa thuộc nhóm này lại vừa thuộc nhóm khác Các ứng d ng khai phá dữ liệu có nhiệm v phân nhóm nhu phát hiện tập các khách hàng có phản ứng giống nhau trong CSDL tiếp thị; x c định các quang ph từ c c phuơng
ph p đo tia hồng ngoại, Liên quan chặt chẽ đến việc phân nhóm là nhiệm v
đ nh gi dữ liệu, hàm mật độ xác suất đa biến/ c c trường trong CSDL
―Nếu một m c thuộc về lớp đã chỉ trong tiền đề thì m c đ c tất cả các thuộc
t nh đã nêu trong kết luận‖ [3]
1.3 Tổng Quan về Visual Basic 6.0
Sơ ược v Visual Basic.Net
Visual Basic.NET (VB.NET) là ngôn ngữ lập trình khuynh hướng đối tượng (Object Oriented Programming Language) do Microsoft thiết kế lại từ con số không Thật sự, đây là ngôn ngữ lập trình mới và rất lợi hại, không những lập nền tảng vững chắc theo ki u mẫu đối tượng như c c ngôn ngữ lập trình hùng mạnh kh c đã vang danh C++, Java mà còn dễ học, dễ phát tri n
và còn tạo mọi cơ hội hoàn hảo đ giúp ta giải đ p những vấn đề khúc mắc khi lập trình Hơn nữa, dù không kh khăn gì khi cần tham khảo, học h i hay đào sâu những gì xảy ra bên trong hậu trường OS, Visual Basic.NET ( NET giúp ta đối phó với các phức tạp khi lập trình trên nền Windows và
do đ , ta chỉ tập trung công sức vào các vấn đề liên quan đến dự án, công việc hay doanh nghiệp mà thôi
Sơ ƣợc về Net
Trang 25.NET là tầng trung gian giữa các ứng d ng (applications) và hệ điều hành (OS) Tầng NET cung cấp mọi dịch v cơ bản giúp ta tạo các công
d ng mà ứng d ng (application đòi h i, giống như hệ điều hành cung cấp các dịch v cơ bản cho ứng d ng (application), tỷ như: đọc hay viết các tập tin (files vào dĩa cứng (hard drive), Tầng này bao gồm 1 bộ các ứng d ng (application) và hệ điều hành gọi là NET Servers Như vậy, NET gần như là một bộ sưu tập (collection) các nhu liệu và khái niệm kết hợp trộn lẫn nhau làm việc nh m tạo giải đ p c c vấn đề liên quan
1.3.2 Biến hằng và các ki u d li u
Biến
Đ khai báo biến ta dùng lệnh Dim:
Dim <Tên biến > [As<ki u dữ liệu>]
Biến khai báo trong thủ t c chỉ tồn tại khi thủ t c thi hành Nó sẽ biến mất khi thủ t c chấm dứt Giá trị của biến trong thủ t c là c c bộ đối với thủ
t c đ , nghĩa là ta không th truy nhập biến từ bên ngoài thủ t c Nhờ đ , ta
có th dùng trùng tên biến c c bộ trong những thủ t c khác nha
Ki u dữ liệu trong khai báo Dim có th là những ki u cơ bản như Integer, String hoặc Currency Ta cũng c th dùng đối tượng của (như Object, Form1, TextBox) hoặc của các ứng d ng khác
Khai báo biến trong phần Declarations của một mô-đun nghĩa là biến
đ tông tại và có tầm hoạt động trong mô-đun đ
Khai báo biến với từ kho Public nghĩa là biến đ tồn tại và có tầm hoạt động của toàn ứng d ng
Khai báo biến c c bộ với từ kho Static nghĩa là mặc dầu biến đ biến mất khi thủ t c chấm dứt, nhưng gi trị của nó vẫn được giữ lại đ tiếp t c hoạt động khi thủ t c được gọi trong lần sau
Hằng
ùng đ chứa những dữ liệu tạm thời nhưng không thay đ i trong suốt thời gian chương trình hoạt động Sử d ng h ng số làm chương trình s ng sủa
và dễ đọc nhờ những tên gợi nhớ thay vì các con số VB cung cấp một số
h ng định nghĩa sẵn, nhưng ta c th tự tạo h ng
Ta có th dùng cửa s Object rowser đ xem danh sách các ứng d ng
h ng có sẵn của VB và VBA( Visual basic for Application) Các ứng d ng khác cung cấp những thư viện đối tượng, như Microsoft Exel, Microsoft
Trang 26Project, hoặc c c thư viện của điều khi n ctiveX cũng c h ng định nghĩa sẵn
Trong trương hợp trùng tên h ng trong những thư viện khác nhau, ta có
th dung cách chỉ rõ tham chiếu h ng:
Một dòng lệnh có th kết hợp nhiều ki u khai báo :
Private I as Interger, Amt as double
Private YourName as String, BillsPaid as Currency
Private Test,Amount, J as integer
Ki u số
Integer, Long, Double và Currency Ki u số tốn ít vùng chứa hơn ki u Variant Tất cả biến ki u số có th được gán cho nhau và cho biến Variant
VB làm tròn thay vì chặt b phần thập phân trước khi gắn nó cho số Integer
Ki u Integer tốn ít vùng nhớ hơn c c ki u kh c, n thường dùng làm biến đếm trong các vòng lặp For Next
Ki u Single, Double, Currency dùng cho các số có phần thập phân Currency hỗ trợ đến 4 chữ số phần thập phân và 15 chữ số cho phần nguyên, đùn cho cc t nh to n tiền tệ
Các giá trị dấu chấm động được th hiện là :A*10B.Ví d :
1.2341E12=1.2341 *1012
3.402823E+38 cho số Single hoặc 1.7976931486232D+308 cho số Double
Ta dùng các phép cộng (+), trừ(-) nhân(*), chia(/ hoặc\) Dấu / là số chia thập phân Ví d : 5/3 cho kết quả là 1.66666666667 Trong khi 5/3 cho kết quả là
Trang 271, phần thập phân bị chặt b Ph p t nh này đặc biệt nhanh khi sử d ng trong vòng lặp
Ki u Byte
Thường dùng đẻ chứa dữ liệu nhị phân Tất cả các thao tác trên ki u Integer có th thực hiện trên ki u Byte, ngoại trừ dấu Vì Byte là ki u không dấu (trong khoản từ 0-255), nó không th nhận ra số âm
Ki u String
Mặc định, biến hay tham số ki u chuỗi có chiều dài thay đ i, nó có th tăng hoặc giảm tuỳ theo ta gán dữ liệu Ta có th khai báo chuỗi có chiều dài
cố định:
Dim EmpName As String *50
Nếu ta gán một chuỗi ngắn hơn 50 k tự, EmpName sẽ được thêm vào phần đuôi c c kỹ tự khoảng trắng cho đầy 50 ký tự, nếu chuỗi g n vào dài hơn
Dim blnRunning as Boolean
‗ Check to see ì the tape is running
If recorder.Direction = 1 Then
blnRunning = True
End if
Ki u Date
Trang 28Khi các ki u dữ liệu kh c được chuy n sang Date, giá trị đứng trước dấu chấm là ngày, giá trị đứng sau dấu chấm là giờ Nửa đêm là 0, giữa ngày
là 0,5 Dấu âm th hiện ngày trước 30/12/1999 Ki u ate đã giải quyết vấn
Trở lại cửa s Immediate gõ vào: ?#01/02/98#
Dấu # cho biết là dữ liệu ki u Date, không phải một bi u thức toán học Tuy nhiên, định dạng ngày tháng hi n thị ph thuộc vào quy định của Windows
Hộp thoại này hi n thị khi người sử d ng nhấp đúp chuột vào bi u tượng Regional Setting trong cửa s Control Panel của Windows Nó cho
ph p quy định ki u ngày tháng tuỳ thuộc quốc gia Bên trong chương trình
VB xử lý ngày tháng theo ki u Mỹ #01/02/98# là ngày 2 th ng Giêng năm
1998, nhưng nếu m y đang dùng theo hệ Anh thì nó sẽ hi n thị trên cửa s Immediate là 2/1/98
Ki u Object
Biến ki u Object chứa một địa chỉ 4 byte (32bit) tr đến đối tượng trong ứng d ng hiện hành hoặc các ứng d ng khác Dùng lệnh Set đ chỉ ra đối tượng thực sự:
Dim objDb As Object
Set obj b=Open atabase(―c:\vb5\ iblio.mdb‖
Trang 29Khi khai báo biến đối tượng, nên chỉ ra tên lớp tường minh, như Text ox thay vì Control, Database thay vì Object) Ứng d ng sẽ chạy nhanh hơn, ta c
th xem danh sách các lớp trong cửa s Object Browser
Trang 30Giải quyết trường hợp có quá nhiều ElseIf được dùng, giúp chương trình sáng sủa dễ đọc Bi u thức đ so s nh được tính toán một lần vào đầu cấu trúc Sau đ isual basic so sánh kết quả bi u thức với từng Case Nếu
b ng nó thi hành khối lệnh trong Case đ
Select Case <bi u thức ki m tra>
Case <danh sách bi u thức 1>
Khối lệnh 1 Case <danh sách bi u thức 2>
Khối lệnh 2
Cấu trúc lặp
Do loop
Thi hành một khối lệnh với số lần lặp không định trước, t ng đ , một
bi u thức điều kiện dùng so s nh đ quyết định vòng lặp có tiếp t c hay không điều kiện phải quy về False hoặc True
Ki u 1:
o While <điều kiện>
<khối lệnh>
Loop
Trang 31Ki u 2:Vòng lặp luôn có ít nhất một lần thi hành khối lệnh
Do
<Khối lệnh>
Loop While <điều kiện>
Ki u 3: Lặp trong khi điều kiện là False
o until <điều kiện>
Biến đếm, đi m đầu, đi m cuối và bước nhảy là những giá trị số
ước nhảy có th là âm hoặc dương Nếu bước nhảy là dương, đi m đầu phải
nh hơn hoặc b ng đi m cuối, nếu bước nhảy là âm thì ngược lại
For Each Next
Tương tự vòng lặp For Next, nhưng n lặp khối lệnh theo số phần tử của một tập c c đối tượng hay một mảng thay vì theo số lần lặp x c định Vòng lặp này tiện lợi khi ta không biết chính xác bao nhiêu phần tử trong tập hợp
Trang 32<khối lệnh>
Wend
Câu lệnh GoTo
Được dùng cho bẫy lỗi
On Error Goto ErrorHandler
Khi có lỗi, chương trình sẽ nhảy đến nhãn ErrorHandler và thi hành lệnh ở
đ
Kết uận chương
Trong chương 1 của luận văn đã đi vào trình bày c c hi u biết về logic
to n c c kh i niệm về mệnh đề và chân trị, c c ph p to n mệnh đề, bi u thức logic, c c luật của logic và c c quy tắc thay thế, trình bày kh i qu t về khai
ph dữ liệu, định nghĩa về khai ph dữ liệu Trình bày t ng quan về isual asic 6.0, Giới thiệu biến h ng c c ki u dữ liệu, trình bày c c cấu trúc điều khi n, đây là c c cơ sở l thuyết đ ph t tri n c c nội dung tiếp của luận văn
Trang 33Chương Khai phá uật ết hợp Bài t án phát hiện uật ết hợp
uậ ế ợ
M t số khái niệm
Giả sử chúng ta có một cơ sở dữ liệu D Luật kết hợp cho biết phạm vi
mà trong đ sự xuất hiện của tập các m c của S nào đ của các bản ghi của D
sẽ kéo theo sự xuất hiện của tập các m c của U(S∩U = ∅ cũng n m trong bản ghi đ Mỗi luật kết hợp được đặc trưng bởi một cặp tỉ lệ hỗ trợ: độ hỗ trợ
và độ tin cậy là tỉ lệ phần trăm những bản ghi trong D chứa cả S và U
Vấn đề phát hiện luật kết hợp được thực hiện như sau:
Đếm tất cả những qui luật chỉ ra sự xuất hiện một số các m c sẽ kéo theo một số m c khác
Chỉ xét những qui luật mà tỉ lệ hỗ trợ lớn hơn 40% và độ tin cậy lớn hơn 90%
Chẳng hạn khi thống kê khách hàng mua sản phẩm qua mạng chủng ta
sẽ c được một CSDL về các yêu cầu của khách hàng và giả sử chủng ta quan tâm đến mối quan hệ "tu i, giới tính, nghề nghiệp ?‖ thì mua ―những sản phẩm nào?" Rõ ràng có rất nhiều câu h i ki u như vậy
M h nh h nh thức c a uật ết hợp
Ta quy ước nhưu sau :
1/I={I1,I2, ,Im} là tập m khoản m c (item
Trang 342/T={t1,t2, ,tm} là một CS L giao dịch (transaction được định nghĩa như một tập con (subset của c c khoản m c trong I (T I , nghĩa là
ti={ii1,ii2, iik}, gọi là giao dịch ti, với ij, iijϵI
3/ti được gọi là chứa X - tập c c hạng m c trong I, nếu c c hạng m c trong X đều c trong I và X ti
Bảng Ví dụ cơ sở dữ iệu gia dịch
Trong đ I={ , ,C, ,E}
tự từ đi n của c c m c
Đ h trợ Supp rt :
Cho là CS L của n giao dịch và mỗi giao dịch được đ nh nhãn với một định danh duy nhất N i r ng một giao dịch tϵT hỗ trợ cho c c tập X I nếu n chứa tất cả c c item của X, nghĩa là X t, (C th dùng k hiệu T(X
đ chỉ tập c c giao dịch hỗ trợ cho X
Trang 35Độ hỗ trợ tập m c X, k hiệu support(X hoặc supp(X hoặc sup(X hoặc s(X là tỉ lệ phần trăm của c c giao dịch hỗ trợ X trên t ng c c giao dịch trong J, nghĩa là :
( )
Count X T T J Count J
ựa vào công thức (2.1 ta c bảng 2.2
là một tập c c m c ph biến (hoặc large itemset Một tập ph biến được sử
d ng như một tập đ ng quan tâm trong c c thuật to n, ngược lại, những tập không phải tập ph biến là những tập không đ ng quan tâm C c trình bày về sau, ta sẽ sử d ng những c m từ kh c như ―X c độ hỗ trợ tối thi u‖, hay ―X không c độ hỗ trợ tối thi u‖ cũng đ n i lên r ng X th a mãn hay không th a mãn supp(X ≥minsup
Trang 36Định nghĩa uật ết hợp
Luật kết hợp của tập X theo tập m c Y được k hiệu là xRy hoặc X →Y, trong đ X,Y I, thuộc cùng một giao dịch (bản ghi) và X∩Y=∅; X được gọi
là giả thiết còn Y được gọi là kết luận
Hai tham số quan trọng của luật kết hợp là độ hỗ trợ (support và độ tin cậy (confident N làm thước đo cho t nh tin cậy và mức độ ch nh x c của luật
= X Y
T
Độ tin cậy của luật của luật kết hợp
Độ tin cậy đo mức độ ch nh x c của luật b ng tỉ lệ tập giao dịch c chứa X∪Y so với tập giao dịch c chứa X Độ tin cậy của luật X→Y, k hiệu conf(X→Y và được t nh b ng:
sup( )
X Y X
Theo định nghĩa ta c : 0≤sup(X→Y)≤ ≤conf(X→Y)≤ X∪Y, còn độ tin cậy x c suất c điều kiện xuất hiện Y khi đã xuất hiện X
Luật kết hợp (X→Y được coi là một ―tri thức‖ (mẫu c gi trị‖ nếu xảy ra đồng thời: sup(X→Y)≥minsup và conf(X→Y)≥minconf, với minsup
và minconf là hai ngưỡng tối thi u do người sử d ng đưa ra làm tiêu chuẩn
cho qu trình khai ph c c luật kết hợp
Trang 37Ví d 2.3 Tính sup và conf của các luật kết hợp trong CSDL giao d ch
Tập ph biến (frequent Itemset :
Một tập m c S được gọi là tập ph biến nếu độ hỗ trợ lớn hơn hoặc
b ng một ngưỡng minsup được cho bởi người sử d ng: supp(S ≥
d 2.4: X t CS L giao dịch ở v d 1 với minsup=50% ta tìm được
Trang 38Nếu một tập m c trong không c độ hỗ trợ tối thi u trên nghĩa là support( <minsup thì c c B sẽ không phải là tập ph biến vì support(B)≤support(A)<minsup
í d 2 5 i tập ph iến ộ tin ậy supp 50 ở ảng
2 4 v min onf 70 th húng ta sinh ra á uật ết hợp sau y (xem bảng 2.5)
Trang 39Luật ết hợp (X →Y) Conf(X →Y) Đ tin cậ
Bảng 5 Luật ết hợp sinh ra t tập phổ biến ADE
M t số hướng tiếp cận hai phá uật ết hợp
Lĩnh vực khai thác luật kết hợp cho đến nay đã được nghiên cứu và phát tri n theo nhiều hướng kh c nhau Nhiều những đề xuất nh m cải tiến tốc độ thuật toán, có những đề xuất nh m tìm kiếm luật c nghĩa hơn Một
số hướng tiếp cận khai phá luật kết hợp cần chủ sau đây
Luật ết hợp nhị phân
Đ là hướng nghiên cứu đầu tiên của luật kết hợp Trong dạng luật kết hợp nhị phân, chỉ quan tâm là tập m c có xuất hiện (ứng với số 1 hoặc true) hay không xuất hiện (ứng số 0 hoặc False) trong giao dịch chứ không quan tâm về ―tần suất― xuất hiện Chẳng hạn, người ta mua hoặc không mua một một sản phẩm nào đ (không quan tâm số lượng) Thuật toán tiêu bi u nhất khai phá dạng luật kết hợp là thuật toán Apriori và các biến th của nó Các luật kh c cũng c th c được b ng cách rời rạc hoá hoặc mờ ho , đ đưa về dạng luật kết hợp nhị phân
Luật ết hợp có thu c tính số và thu c tính hạng ục
Các thuộc tính của c c cơ sở dữ liệu thực tế có ki u rất đa dạng (nhị phân - binary, số - quantitative hoặc hạng m c - catesgorial Đ phát hiện luật kết hợp với các thuộc tính này, nguời ta dùng một số phương ph p rời rạc
Trang 40ho đ chuy n các dạng luật trên các ki u dữ liệu này về dạng luật nhị phân
đ áp d ng các thuật to n đã c d ―Mua vải = ―c ‖ HOẶC ―Mua chỉ‖
=―c ‖ →―Mua kim khâu‖ ="c " với độ hỗ trợ và độ tin cậy nào đ
Luật ết hợp tiếp cận the hướng tập th
Tìm kiếm luật kết hợp dựa trên l thuyết tập thô
Luật ết hợp nhiều ức
Với cách tiếp cận theo luật này sẽ tìm kiếm thêm những luật có dạng:
X → Y & z & Chẳng hạn: ―Mua m y t nh PC → Mua hệ điều hành →Mua phần mềm tiện ch văn phòng, →‖
Luật ết hợp ờ
Với những hạn chế còn gặp phải trong quá trình rời rạc hoá các thuộc tính số, người ta đã đề xuất luật kết hợp mờ nh m khắc ph c các hạn chế trên
và chuy n luật kết hợp về một dạng tự nhiên hơn, gần gũi hơn với nguời sử
d ng một ví d của dạng này là : ―Thông minh‖ = yes N ―Chăm học‖ = yes→ ― ượt qua kỳ thi‖ = yes, với độ hỗ trợ 15% và độ tin cậy 75% Trong luật này điều kiện ―Thông minh‖, ―Chăm học‖ là c c thuộc tính mờ
Bài t án phát hiện uật ết hợp
Phần này sẽ chỉ ra r ng nếu quan sát và thu thập được một cơ sở dữ liệu là cửa hàng s ch, thư viện về các giao dịch người mua hay người mượn sách thì liệu có th tìm được các luật kết hợp trong đ hoặc tiềm ẩn trong đ
th a supmin và confmin cho trước không