Các kết quả nghiên cứu cùng với những ứng dụng thành công trong khai phá dữ liệu, khám phá tri thức cho thấy khai phá dữ liệu là một lĩnh vực khoa học tiềm năng, mang lại nhiều lợi ích,
Trang 1BÁO CÁO KẾT QUẢ THỰC HIỆN ĐỀ TÀI NGHIÊN CỨU
KHOA HỌC NĂM HỌC 2015-2016
TÊN ĐỀ TÀI
NGHIÊN CỨU MỐI QUAN HỆ GIỮA KẾT QUẢ CÁC HỌC PHẦN CỦA SINH VIÊN KHOA CÔNG NGHỆ THÔNG TIN TRƯỜNG CAO ĐẲNG CÔNG NGHỆ THỦ ĐỨC, LÀM CƠ SỞ CẢI TIẾN ĐỊNH KỲ
CHƯƠNG TRÌNH ĐÀO TẠO
TP.Hồ Chí Minh, ngày 10 tháng 03 năm 2016
Tác giả đề tài
Nguyễn Hoàng Nguyên
Trang 2MỤC LỤC
DANH MỤC CÁC CHỮ VIẾT TẮT i
DANH MỤC BẢNG BIỂU, SỐ LIỆU ii
DANH MỤC CÁC HÌNH iii
LỜI MỞ ĐẦU 1
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 4
1.1 Khái niệm khai phá dữ liệu 4
1.2 Tại sao phải khai phá dữ liệu 4
1.3 Quá trình khám phá tri thức từ cơ sở dữ liệu 5
1.3.1 Chọn lọc dữ liệu 6
1.3.2 Tiền xử lý dữ liệu 6
1.3.3 Mã hoá dữ liệu 7
1.3.4 Khai thác dữ liệu 7
1.3.5 Đánh giá và biểu diễn tri thức 7
1.4 Các kỹ thuật khai phá dữ liệu 7
1.4.1 Khai thác tập phổ biến và luật kết hợp 7
1.4.2 Khai thác mẫu tuần tự 8
1.4.3 Phân lớp dữ liệu 8
1.4.4 Gom nhóm dữ liệu 8
CHƯƠNG 2: TẬP PHỔ BIẾN VÀ LUẬT KẾT HỢP 10
2.1 Giới thiệu 10
2.2 Các định nghĩa 10
2.2.1 Định nghĩa ngữ cảnh khai thác dữ liệu 10
2.2.2 Định nghĩa ma trận giao tác 11
2.2.3 Định nghĩa kết nối Galois 11
2.2.4 Định nghĩa độ phổ biến 12
2.2.5 Định nghĩa độ tin cậy 12
2.2.6 Định nghĩa tập phổ biến 13
2.2.7 Định nghĩa dạng luật kết hợp 13
2.3 Một số tính chất 14
2.3.1 Tính chất 1 14
Trang 32.3.2 Tính chất 2 14
2.3.3 Tính chất 3 14
2.4 Thuật toán Apriori 14
2.4.1 Thuật toán Apriori: 15
2.4.2 Thuật toán phát sinh luật kết hợp từ tập phổ biến 16
2.4.3 Ví dụ minh họa 16
CHƯƠNG 3: XỬ LÝ DỮ LIỆU VÀ XÂY DỰNG ỨNG DỤNG 22
3.1 Quá trình xử lý dữ liệu 22
3.1.1 Thu thập dữ liệu 22
3.1.2 Lựa chọn dữ liệu 23
3.1.3 Mã hóa dữ liệu 24
3.1.4 Xử lý các giá trị trống và các mẫu nghèo thông tin 25
3.1.5 Khai thác dữ liệu 25
3.1.6 Đánh giá và biểu diễn tri thức 27
3.2 Cài đặt chương trình 28
3.2.1 Màn hình quản lý danh sách các học phần 28
3.2.2 Màn hình quản lý các học phần tiên quyết 29
3.2.3 Màn hình quản lý các giao dịch 30
3.2.4 Màn hình tìm luật kết hợp 30
KẾT LUẬN 32
TÀI LIỆU THAM KHẢO 34
PHỤ LỤC 35
Trang 4DANH MỤC CÁC CHỮ VIẾT TẮT
Từ viết tắt Tiếng Anh Tiếng Việt KDD Knowledge Discovery in Data Khám phá tri thức minsupp minimum support Độ phổ biến tối thiểu minconf minimum confidence Độ tin cậy tối thiểu
D Database Cơ sở dữ liệu
Trang 5DANH MỤC BẢNG BIỂU, SỐ LIỆU
Bảng 2.1: Ý nghĩa các kí hiệu 15
Bảng 3.1: Số mẫu thu thập 22
Bảng 3.2: Danh mục các học phần 23
Bảng 3.3: Số mẫu sử dụng 24
Bảng 3.4: Mã các học phần 24
Trang 6DANH MỤC CÁC HÌNH
Hình 1.1: Cách nhìn khái quát về dữ liệu, thông tin và tri thức 5
Hình 1.2: Quá trình khám phá tri thức 5
Hình 3.1: Tiến trình đào tạo ngành Công Nghệ Phần Mềm 26
Hình 3.2: Các bảng dữ liệu 27
Hình 3.3: Minh họa kết quả của chương trình 28
Hình 3.4: Màn hình quản lý các học phần 29
Hình 3.5: Màn hình quản lý các học phần tiên quyết 29
Hình 3.6: Màn hình quản lý các giao dịch 30
Hình 3.7: Màn hình tìm luật kết hợp 31
Trang 7LỜI MỞ ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của các ngành khoa học và những thành tựu đạt được, đặc biệt là ngành công nghệ thông tin phát triển rất nhanh chóng và những ứng dụng được áp dụng rộng rãi trong mọi lĩnh vực đời sống của con người Ngành công nghệ thông tin đã hỗ trợ cho con người rất nhiều trong công việc như
dự báo, quản lý, khai thác và lưu trữ thông tin Từ thực tế đó, dẫn đến việc thông tin ngày càng nhiều và sự bùng nổ về thông tin là tất yếu, có những cơ sở dữ liệu rất lớn lên đến vài TeraByte chứa rất nhiều dữ liệu
Để có được những thông tin cần thiết, nhanh chóng và đáng tin cậy thì con người không thể xử lý một cách thủ công từ một lượng dữ liệu khổng lồ được Như vậy, bằng một cách nào đó, chúng ta lấy được thông tin từ các cơ sở dữ liệu lớn nhờ vào quá trình xử lý tự động của máy tính Từ đó rút ra được những tri thức tiềm ẩn bên trong cơ sở dữ liệu Các kỹ thuật khai phá dữ liệu đã trở thành một lĩnh vực nghiên cứu của ngành công nghệ thông tin trên thế giới Các kết quả nghiên cứu cùng với những ứng dụng thành công trong khai phá dữ liệu, khám phá tri thức cho thấy khai phá dữ liệu là một lĩnh vực khoa học tiềm năng, mang lại nhiều lợi ích, đồng thời có ưu thế hơn hẳn so với các công cụ phân tích dữ liệu truyền thống
Vì vậy, mục đích của nghiên cứu đề tài này là ứng dụng khai phá dữ liệu để tìm ra tri thức mà cụ thể là tìm ra các luật kết hợp trong cơ sở dữ liệu kết quả học tập của sinh viên hệ cao đẳng ngành Công Nghệ Phần Mềm thuộc khoa Công Nghệ Thông Tin của trường cao đẳng Công Nghệ Thủ Đức Ứng dụng này có ý nghĩa rất lớn cho các nhà quản lý giáo dục, giảng viên và sinh viên nhằm nâng cao kết quả học tập cho sinh viên
1 Tính cấp thiết của đề tài
Hiện nay, khoa Công Nghệ Thông Tin trường cao đẳng Công Nghệ Thủ Đức đang đào tạo nguồn nhân lực công nghệ thông tin với mục tiêu đáp ứng nhu cầu xã hội Vì vậy, việc nâng cao chất lượng đào tạo cho sinh viên là một nhu cầu cần thiết
Trang 8Khoa Công nghệ thông tin đã và đang triển khai nhiều hoạt động để thực hiện mục tiêu đó
Nghiên cứu của đề tài nhằm tìm ra mối quan hệ giữa các học phần Từ mối quan hệ đó, đơn vị sẽ cải tiến một số học phần trong chương trình đào tạo để sinh viên đạt kết quả cao hơn Như vậy, tìm ra các mối quan hệ này là thật sự cần thiết để thực hiện mục tiêu đào tạo của nhà trường
2 Tình hình nghiên cứu
Khai phá dữ liệu là một hướng tiếp cận được sử dụng một cách có hiệu quả trong nhiều lĩnh vực như: thiên văn học, tin sinh học, thương mại điện tử, marketing, viễn thông, đầu tư,…Tại Việt Nam, kỹ thuật này chưa được ứng dụng nhiều trong lĩnh vực giáo dục
3 Mục tiêu và nhiệm vụ nghiên cứu
Mục tiêu: phát hiện các mối quan hệ giữa kết quả các học phần của sinh viên khoa công nghệ thông tin làm cơ sở cải tiến định kỳ chương trình đào tạo của khoa công nghệ thông tin
Nhiệm vụ nghiên cứu:
- Xây dựng cơ sở lý luận của đề tài
- Thu thập dữ liệu
- Xử lý dữ liệu
- Xây dựng ứng dụng để khai phá luật kết hợp
4 Đối tượng và phạm vị nghiên cứu
Đề tài sẽ nghiên cứu mối quan hệ kết quả các học phần cơ sở, chuyên ngành của sinh viên hệ chính qui bậc cao đẳng ngành Công Nghệ Thông Tin trường cao đẳng Công Nghệ Thủ đức có kết quả học phần dưới 6 điểm Lựa chọn các học phần có điểm nhỏ hơn 6 vì mức điểm bình quân để được xét tốt nghiệp là từ 6 trở lên
5 Phương pháp nghiên cứu
- Phương pháp nghiên cứu tài liệu
Trang 9- Phương pháp nghiên cứu thực tiễn
6 Đóng góp của đề tài
Đề tài phát hiện ra các luật kết hợp từ kết quả học tập các học phần của sinh viên Các luật này cho thấy mối quan hệ nếu sinh viên học không tốt các học phần này thì sẽ dẫn đến không học tốt các học phần kia Các luật này được dùng làm cơ
sở để hỗ trợ các nhà quản lý trong việc cải tiến chương trình đào tạo theo định kỳ
7 Kết cấu của đề tài
Lời mở đầu
Chương 1: Giới thiệu tổng quan
Chương 2: Tập phổ biến và luật kết hợp
Chương 3: Xử lý dữ liệu và xây dựng ứng dụng
Kết luận
Trang 10CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN
1.1 Khái niệm khai phá dữ liệu
Khai phá dữ liệu (Data mining) là một khái niệm ra đời vào những năm cuối của thập kỷ 80 Khai phá dữ liệu là quá trình khám phá tri thức tiềm ẩn trong các
cơ sở dữ liệu nhằm phát hiện ra các thông tin có giá trị trong các tập dữ liệu lớn (Data Warehouse) Về bản chất, khai phá dữ liệu là tiến trình khái quát các sự kiện rời rạc trong dữ liệu thành các tri thức mang tính khái quát, tính qui luật hỗ trợ tích cực trong các tiến trình ra quyết định
Quá trình tìm ra những thông tin có ích từ cơ sở dữ liệu có rất nhiều tên gọi khác nhau bao gồm: khai phá dữ liệu (Data mining), rút ra tri thức (knowledge axtraction), khám phá thông tin (information discovery) và phát hiện mẫu dữ liệu (Data pattern processing) Việc khai phá dữ liệu chủ yếu được dùng bởi các nhà thống kê, các nhà phân tích dữ liệu và các hệ thống thông tin quản lý cộng đồng
Khám phá tri thức (Knowledge Discovery in Data-KDD) là quá trình tổng thể
để phát hiện tri thức từ dữ liệu, trong khi khai phá dữ liệu là một bước cụ thể của quá trình này Khai phá dữ liệu ứng dụng các thuật toán để tìm ra các mẫu từ dữ liệu Việc thêm các bước vào quá trình KDD như chọn dữ liệu, làm sạch dữ liệu, làm giàu dữ liệu, mã hóa dữ liệu là rất cần thiết để bảo đảm rằng những tri thức hữu ích được hình thành từ dữ liệu Khám phá tri thức phát triển cùng với sự phát triển của các ngành: máy học (machine learning), nhận dạng mẫu (pattern recognition), cơ sở dữ liệu (database), thống kê (statistics), trí tuệ nhân tạo (artificial intelligence) và gần đây là sự phát triển của ngành tính toán thông minh
1.2 Tại sao phải khai phá dữ liệu
Như chúng ta đã biết, nhằm phát hiện, hiểu rõ ràng và sâu sắc hơn từ những
dữ liệu có sẵn để hỗ trợ cho các đề xuất, dự báo và ra quyết định Vì thế, khai phá dữ liệu là cần thiết vì:
Trang 11 Ngày càng có nhiều dữ liệu được lưu trữ trong cơ sở dữ liệu, kho dữ liệu chứa đựng các thông tin mà các hệ quản trị cơ sở dữ liệu không phát hiện
Hình 1.1: Cách nhìn khái quát về dữ liệu, thông tin và tri thức
1.3 Quá trình khám phá tri thức từ cơ sở dữ liệu
Hình 1.2: Quá trình khám phá tri thức
Trang 12Từ cơ sở dữ liệu có sẵn, quá trình khám phá tri thức qua các giai đoạn sau:
1.3.1 Chọn lọc dữ liệu
Đây là giai đoạn chọn lọc, rút trích các dữ liệu cần thiết từ cơ sở dữ liệu tác nghiệp vào cơ sở dữ liệu riêng, chúng ta chỉ chọn những dữ liệu cần thiết cho các giai đoạn sau Tuy nhiên công việc chọn dữ liệu vào một cơ sở dữ liệu thuờng rất khó, vì dữ liệu được lưu ở nhiều nơi với các định dạng khác nhau
Điều hòa dữ liệu
Công việc này nhằm giảm bớt tính không nhất quán do dữ liệu lấy từ nhiều nguồn khác nhau Phương pháp thông thường là khử các trường hợp trùng lặp dữ liệu và thống nhất các ký hiệu
Xử lý các giá trị trống
Tính không đầy đủ của dữ liệu có thể gây ra hiện tượng dữ liệu chứa các giá trị trống Đây là hiện tượng khá phổ biến Thông thường, người ta có thể lựa chọn các phương pháp khác nhau để thực hiện việc
xử lý các giá trị trống như: bỏ qua các bộ có giá trị trống, dùng giá trị Null để thay vào những phần trống
Làm giàu dữ liệu
Trang 13Một số thông tin quan trọng có thể thiếu hoặc không đầy đủ, vì vậy ta cần làm tăng thêm các thông tin vào cơ sở dữ liệu Làm giàu dữ liệu là bổ sung thêm vào cơ sở dữ liệu nhiều loại thông tin liên quan vào cơ sở dữ liệu gốc
Ta tiến hành bổ sung các thông tin cần thiết để làm tăng khả năng khám phá tri thức từ cơ sở dữ liệu
Quá trình làm giàu bao cũng bao gồm việc tích hợp và chuyển đổi dữ liệu Các dữ liệu từ nhiều nguồn khác nhau được tích hợp thành một kho Các khuôn dạng khác nhau của dữ liệu cũng được quy đổi, tính toán lại để đưa về một kiểu thống nhất, tiện cho quá trình phân tích, thống nhất Đôi khi, một số thuộc tính mới có thể được xây dựng dựa trên các thuộc tính cũ
và tốn nhiều thời gian nhất của toàn bộ quá trình KDD
1.3.5 Đánh giá và biểu diễn tri thức
Là quá trình giải thích, đánh giá những tri thức khai phá được và hiển thị trực quan các kết quả của toàn bộ quá trình khai phá dữ liệu
1.4 Các kỹ thuật khai phá dữ liệu
Để giải quyết bài toán, tùy theo cách tiếp cận để khai phá dữ liệu theo các phương pháp sau:
1.4.1 Khai thác tập phổ biến và luật kết hợp
Là tiến trình khám phá các tập giá trị thuộc tính xuất hiện phổ biến trong các đối tượng dữ liệu Từ tập phổ biến có thể tạo ra các luật kết hợp giữa các
Trang 14gái trị thuộc tính nhằm phản ánh khả năng xuất hiện đồng thời các giá trị thuộc tính trong tập các đối tượng Luật kết hợp có dạng XY, phản ánh sự xuất hiện của tập X dẫn đến sự xuất hiện của tập Y
Ví dụ 1: trong cơ sở dữ liệu bán hàng tại một siêu thị, có một luật kết hợp như sau: “Có 70% khách hàng mua bột giặt Omo thì cũng mua nước xả Comfort”
Độ phổ biến và độ tin cậy là hai độ đo của luật kết hợp Độ phổ biến để tìm ra các tập phổ biến, còn độ tin cậy phản ánh sự chắc chắn của luật đã khám phá
1.4.2 Khai thác mẫu tuần tự
Là quá trình khám phá mẫu tuần tự phổ biến phản ánh mối quan hệ giữa các biến cố trong các cơ sở dữ liệu hướng thời gian Một luật mô tả mẫu tuần tự có dạng XY phản ánh sự xuất hiện của biến cố X sẽ dẫn đến sự xuất hiện kế tiếp của biến cố Y
Ví dụ: “ Có 70% khách hàng mua kem trị mụn Acnes thì sau 2 ngày sẽ mua sửa rửa mặt Acnes.”
1.4.3 Phân lớp dữ liệu
Là tiến trình khám phá các luật phân loại hay đặc trưng cho các tập dữ liệu đã được xếp lớp Tập dữ liệu học bao gồm tập đối tượng đã được xác định lớp sẽ được dùng để tạo mô hình phân lớp dựa trên đặc trưng của đối tượng trong tập dữ liệu học Các luật phân lớp được sử dụng để xây dựng các
bộ phân lớp dữ liệu Phân lớp dữ liệu có vai trò quan trọng trong tiến trình dự báo các khuynh hướng, qui luật phát triển
1.4.4 Gom nhóm dữ liệu
Là tiến trình nhận diện các nhóm tiềm ẩn trong tập các đối tượng chưa được xếp lớp Tiến trình gom nhóm dựa trên mức độ tương tự giữa các đối tượng Các đối tượng được gom nhóm sao cho mức độ tương tự giữa các đối
Trang 15tượng trong cùng một nhóm là cực đại và mức độ tương tự giữa các đối tượng nằm trong các nhóm khác nhau là cực tiểu Các nhóm được đặc trưng bằng các tính chất chung của tất cả các đối tượng trong nhóm Do vậy, khảo sát nhóm sẽ giúp khái quát, tổng kết nhanh chóng nội dung của cơ sở dữ liệu lớn
Trang 16CHƯƠNG 2: TẬP PHỔ BIẾN VÀ LUẬT KẾT HỢP
Trong phần một của bài viết, chúng ta đã tìm hiểu một số khái niệm cơ bản về khai phá dữ liệu cũng như biết được tầm quan trọng của khai phá dữ liệu để tìm ra tri thức trong các cơ sở dữ liệu lớn Có nhiều phương pháp được sử dụng, tuy nhiên trong bài viết này sẽ trình bày phương pháp sử dụng tập phổ biến và luật kết hợp để tìm ra tri thức trong cơ sở dữ liệu
2.1 Giới thiệu
Khái niệm về luật kết hợp được phổ biến vào năm 1993 qua bài báo của Agrawal Theo Google Scholar, đến năm 2008 đã có hơn 6.000 trích dẫn trên mạng Nhưng luật kết hợp lại được biết đến từ năm 1966 với phương pháp Huga, một phương pháp khai thác dữ liệu tổng hợp được phát triển bởi Petr Hájek cùng các cộng sự
Khai phá luật kết hợp được môt tả như sự tương quan của các sự kiện, những sự kiện xuất hiện thường xuyên một cách đồng thời Nhiệm vụ chính của khai phá luật kết hợp là phát hiện ra các tập con cùng xuất hiện trong một khối lượng giao dịch lớn của một cơ sở dữ liệu cho trước Nói cách khác, thuật toán khai phá luật kết hợp cho phép tạo ra các luật mô tả các sự kiện xảy ra đồng thời (một cách thường xuyên) như thế nào Các thuật toán thường trải qua hai giai đoạn: giai đoạn một là tìm các
sự kiện xảy ra thường xuyên và giai đoạn hai là tìm các luật kết hợp từ các sự kiện thường xuyên ở giai đoạn một
Luật kết hợp được sử dụng rộng rãi trong các lĩnh vực như: mạng viễn thông, quản lý thị trường, quản lý hàng tồn kho… Khai phá luật kết hợp để tìm ra các luật kết hợp thỏa mãn độ phổ biến tối thiểu (minimum support) và độ tin cậy tối thiểu (minimum confidence) cho trước trong cơ sở dữ liệu đã cho
2.2 Các định nghĩa
2.2.1 Định nghĩa ngữ cảnh khai thác dữ liệu
Cho I={i1,i2,…,in} là tập hợp các mục dữ liệu, và T = {t1, t2, …, tm} là tập hợp các giao tác Trên tích Descartes T I, ta định nghĩa một quan hệ hai ngôi như sau:
Trang 17(t, i) T I: t i Giao tác t có chứa mục dữ liệu i
được gọi là quan hệ khai thác dữ liệu Bộ ba (T, I, ) được gọi là ngữ cảnh khai thác dữ liệu
Mỗi mục dữ liệu i I còn được gọi là một thuộc tính của I
Ví dụ 1: Các giao tác trong cơ sở dữ liệu D
)j,i(khi1
mij
M gọi là ma trận giao tác Hàng thứ i của ma trận biểu diễn giao tác thứ i, cột thứ
j của ma trận biểu diễn mục dữ liệu thứ j
Mỗi tập hợp con X I gọi là tập mục dữ liệu (Itemset), mỗi tập con S T gọi là tập định danh giao tác (Tidset)
2.2.3 Định nghĩa kết nối Galois
Cho ngữ cảnh khai thác dữ liệu (T, I, ) Ta định nghĩa hai ánh xạ:
tran: SubSet(I) → SubSet(T)
X I: tran(X) = {s T | x X, (s, x) } = {s T | x X, s.x = 1}
trong đó, s.x chỉ sự xuất hiện của mục dữ liệu x trong giao tác s nếu cho giá trị 1
và tran(X) là tập hợp tất cả các giao tác của T chứa tất cả các mục dữ liệu trong X
item : SubSet(T) → SubSet(I)
S T: item(S) = {x I | s S, (s, x) } = {x I | s S, s.x = 1}
Trang 18item(S) là tập hợp tất cả các mục dữ liệu của I xuất hiện ở tất cả các giao tác trong S
Cặp ánh xạ (tran, item) được gọi là kết nối Galois trên T I
2.2.4 Định nghĩa độ phổ biến
Độ phổ biến của một tập hợp X (Xtrong cơ sở dữ liệu D là tỷ số giữa các giao dịch T(TD) có chứa tập X và tổng số giao dịch trong D (hay là phần trăm của các giao dịch trong D có chứa tập hợp X)
Ký hiệu: support(X) hay supp(X)
= 0.4 (hay 40%)
2.2.5 Định nghĩa độ tin cậy
Độ tin cậy của một luật kết hợp XY là tỷ lệ giữa số lượng các giao dịch trong D chứa X Y với số giao dịch trong D có chứa tập hợp X
Ký hiệu: confidence(XY ) hay conf(XY)
Ta có 0 conf(XY) 1
Ví dụ 3: với dữ liệu của ví dụ 1, giả sử có luật sau:
{Diaper, Milk}{Beer} Tính độ tin cậy của luật này
Ta có:
Đặt: X={{Diaper, Milk}, Y={Beer}
supp(X Y)=
52
=0.4
Trang 1953
= 0.6
conf(XY)=
6.04.0
=0.66
2.2.6 Định nghĩa tập phổ biến
Cho ngữ cảnh I, D và minsupp(0,1] (minsupp gọi là độ phổ biến tối thiểu), X là tập phổ biến theo ngưỡng minsupp nếu và chỉ nếu supp(X) minsupp
Ví dụ: với dữ liệu của ví dụ 1 và cho minsupp=0.5 (50%) Hãy cho biết tập {Diaper, Beer} có phải là tập phổ biến không?
Ta có: supp({Diaper, Beer})=
53
=0.6
supp({Diaper, Beer}) minsupp
Vậy tập {Diaper, Beer} là tập phổ biến
2.2.7 Định nghĩa dạng luật kết hợp
Cho I={i1,i2,…,in} là tập hợp các mục dữ liệu, và T = {t1, t2, …, tm} là tập hợp các giao tác ết hợp mỗi giao dịch với một định danh phân biệt là TID Ta nói rằng, giao dịch T chứa X (tập các mục trong I) nếu XT
Một luật kết hợp có dạng: XY (với XI,YI và XY= ) thỏa mản hai điều kiện:
supp(XY) minsupp
conf(XY) minconf
Ví dụ 4: Cho I={ Beer, Diaper, Bread, Eggs, Milk}, minsupp=70%,
minconf=90% và
Trang 202.4 Thuật toán Apriori
Một số thuật toán được dùng trong khai phá luật kết hợp như: Apriori, Eclat, Growth… Trong đề tài này, thuật toán Apriori được chọn để cài đặt chương trình Thuật toán này là thuật toán cơ bản, dễ sử dụng Apriori là một thuật toán do Rakesh Agrawal, Tomasz Imielinski, Arun Swami đề xuất lần đầu vào năm 1993 Thuật toán tìm giao dịch t có độ phổ biến và độ tin cậy thoả mãn giá trị ngưỡng nào đó Đầu tiên, thuật toán đếm các tập mục để xác định tập phổ biến 1-Itemset Các tập phổ biến mà mỗi phần tử có k-Item gọi là tập phổ biến k-Itemset
FP-Để tìm tập phổ biến k-Itemset, thực hiện 3 bước sau:
Trang 21 Từ tập phổ biến Lk-1, tạo ra tập ứng cử viên Ck
Duyệt cơ sở dữ liệu để tính độ phổ biến của các ứng cử viên trong Ck
Tạo tập phổ biến Lk bằng cách chọn các ứng cử viên trong Ck có độ phổ biến không nhỏ hơn minsupp
k-Itemset Tập mục mà mỗi phần tử có k item
Lk Tập phổ biến k-itemsets Mỗi phần tử có:
i) itemset ii) support
Ck Tập ứng cử viên k-Itemsets
Mỗi phần tử có:
i) itemset ii) support
Hàm tạo tập ứng cử viên:
Hàm tạo tập ứng cử viên sẽ sử dụng tập phổ biến Lk-1 để tạo tập Ck hàm trả
về một tập k-Itemsets Đầu tiên thực hiện kết tập Lk-1 với Lk-1
Insert into Ck
Trang 22Select p.item1, p.item2, , p.itemk-1,q.itemk-1
From Lk-1 p, Lk-1 q
Where p.item1 =q.item1, , p.itemk-2 =q.itemk-2, p.itemk-1<q.itemk-1
Tiếp theo, loại bỏ các ứng cử viên trong Ck mà tập con (k-1) items của ứng
cử viên không xuất hiện trong Lk-1
forall itemsets c Ck do
forall (k-1)-subsets s of c do
if (s Lk-1) then
delete c from Ck;
2.4.2 Thuật toán phát sinh luật kết hợp từ tập phổ biến
Với mỗi tập mục l trong tập phổ biến L (l L), tìm tất cả các tập con khác rỗng của l Với mỗi tập con khác rỗng s của l sẽ phát sinh một luật kết hợp
s(l-s) nếu
2.4.3 Ví dụ minh họa
Cho cơ sở dữ liệu như gồm có 9 giao dịch sau:
TID ITEMSET T100 i1, i2, i5
Và minsupp=22%( tương ứng là 2 giao dịch), minconf=70%
Bước 1: tạo tập phổ biến mà mỗi phần tử có 1 tập mục dữ liệu( 1-Itemset)