Đối với các cơ sở dữ liệu CSDL lớn thì việc suy diễn thông tin dựatrên dữ liệu lịch sử không thể thực hiện được bởi các phép thống kê thôngthường mà phải sử dụng đến các công cụ của khai
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DUY TÂN
HỒ THỊ HỒNG NHUNG
PHÂN TÍCH TẬP MẪU ÍCH CAO NHẰM NÂNG CAO
CHẤT LƯỢNG DỊCH VỤ VIỄN THÔNG
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
ĐÀ NẴNG – Năm 2022
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DUY TÂN
HỒ THỊ HỒNG NHUNG
PHÂN TÍCH TẬP MẪU ÍCH CAO NHẰM NÂNG CAO
CHẤT LƯỢNG DỊCH VỤ VIỄN THÔNG
Chuyên ngành: Khoa học máy tính
Mã số: 8480101
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học: TS Lê Quốc Hải
ĐÀ NẴNG – Năm 2022
Trang 3LỜI CẢM ƠN
Được sự phân công của Khoa Sau Đại học, Trường Đại học Duy Tân và sựđồng ý của thầy giáo hướng dẫn TS.Lê Quốc Hải, tôi đã thực hiện đề tài
“Phân tích tập mẫu ích cao nhằm nâng cao chất lượng dịch vụ viễn thông”.
Để hoàn thành luận văn này, Tôi xin chân thành cảm ơn các thầy côgiáo đã tận tình hướng dẫn, giảng dạy trong suốt quá trình học tập, nghiên cứu
và rèn luyện ở Trường Đại học Duy Tân
Xin chân thành cảm ơn các bạn bè đồng nghiệp đã đồng hành, góp ý vàgiúp đỡ tôi trong mỗi bài giảng của các thầy cô giáo
Và đặc biệt, xin chân thành cảm ơn thầy giáo hướng dẫn TS Lê QuốcHải đã tận tình, chu đáo hướng dẫn tôi thực hiện luận văn này
Mặc dù đã có nhiều cố gắng để thực hiện luận văn một cách hoàn chỉnhnhất, song do buổi đầu làm quen với công tác nghiên cứu khoa học, sự hạnchế về mặt kiến thức và kinh nghiệm nên không tránh khỏi những thiếu sótnhất định Rất mong nhận được sự góp ý của quý Thầy, Cô giáo và các bạnđồng nghiệp để luận văn được hoàn chỉnh hơn
Tôi xin chân thành cảm ơn!
Đà Nẵng, ngày tháng năm 2022
HỌC VIÊN
Hồ Thị Hồng Nhung
Trang 4LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu khoa học độc lập củariêng tôi Các số liệu sử dụng phân tích trong luận án có nguồn gốc rõ ràng,
đã công bố theo đúng quy định Các số liệu và kết quả nghiên cứu trong luậnvăn này là trung thực và không trùng lặp với các đề tài khác
Đà Nẵng, ngày tháng năm 2022
HỌC VIÊN
Hồ Thị Hồng Nhung
Trang 5MỤC LỤC
LỜI CẢM ƠN i
LỜI CAM ĐOAN ii
MỤC LỤC iii
DANH MỤC VIẾT TẮT v
DANH MỤC CÁC BẢNG BIỂU vi
DANH MỤC HÌNH ẢNH vii
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu nghiên cứu 2
3 Đối tượng và phạm vi nghiên cứu 2
4 Phương pháp nghiên cứu 3
5 Tổng quan vấn đề nghiên cứu 3
6 Cấu trúc luận văn 3
Chương 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 5
1.1 Khái niệm khai phá dữ liệu 5
1.2 Quá trình khai phá dữ liệu 5
1.3 Các kỹ thuật tiếp cận khai phá dữ liệu 7
1.4 Kiến trúc của hệ thống khai phá dữ liệu 9
1.5 Ứng dụng của khai phá dữ liệu 10
Chương 2 KHAI PHÁ DỮ LIỆU BẰNG LUẬT KẾT HỢP VÀ PHÂN LỚP DỰ BÁO 12
2.1.Một số kỹ thuật KPDL trong phân lớp, dự báo 12
2.1.1 Cây quyết định 12
2.1.2 Phân lớp Nạve Bayes 15
2.2.Tổng quan về luật kết hợp 16
2.2.1 Các khái niệm cơ bản 16
Trang 62.2.2.Khái niệm luật kết hợp 19
2.3.Thuật toán tìm luật kết hợp Apriori 22
2.3.1.Một số khái niệm 22
2.3.2.Giải thuật Apriori để sinh các luật kết hợp 23
2.3.3.Mô tả thuật toán Apriori dưới dạng giả mã 24
2.3.4.Ví dụ minh họa thuật toán Apriori 26
2.3.5.Ưu điểm và khuyết điểm của thuật toán Apriori 30
2.4.Một số kỹ thuật cải tiến thuật toán Apriori 31
2.4.1.Thuật toán AprioriTid 31
2.4.2.Thuật toán FP-growth 33
2.4.3.So sánh thuật toán Apriori và Thuật toán FP-growth 42
Chương 3 ỨNG DỤNG VÀO PHÂN TÍCH DỮ LIỆU KHÁCH HÀNG TẠI VNPT QUẢNG TRỊ 44
3.1 Phát biểu bài toán 44
3.2.Giới thiệu các khái niệm thuê bao, nghiệp vụ trong quản lý viễn thông 44
3.3.Khảo sát hiện trạng tại đơn vị 45
3.4.Giải pháp đề xuất 47
3.5.Thực nghiệm và đánh giá kết quả 48
3.5.1 Chuẩn bị dữ liệu 48
3.5.2.Giới thiệu công cụ Weka 51
3.5.3.Thực nghiệm bằng khai phá dữ liệu 52
3.5.4.Đánh giá kết quả 56
KẾT LUẬN 57 TÀI LIỆU THAM KHẢO
PHỤ LỤC KẾT QUẢ PHÁT HIỆN LUẬT KẾT HỢP
Trang 7DANH MỤC VIẾT TẮT
Chữ viết tắt Giải thích thuật ngữ
CNTT Công nghệ thông tin
CSDL Cơ sở dữ liệu
KPDL Khai phá dữ liệu
TGSD Thời gian sử dụng
Trang 8DANH MỤC CÁC BẢNG BIỂU
Bảng 2.1 Cơ sở dữ liệu giao dịch D 21
Bảng 2.2 Tần xuất xuất hiện và độ hỗ trợ của các tập mục phổ biến 22
Bảng 2.3 CSDL sử dụng minh hoạ thuật toán Apriori 27
Bảng 2.4 Kết quả thực hiện thuật toán Aprori cho CSDL D 29
Bảng 2.5 Cây FP 34
Bảng 2.6 Cơ sở dữ liệu 40
Bảng 3.1 Số lượng bản ghi tập dữ liệu 52
Trang 9DANH MỤC HÌNH ẢNH
Hình 1.1 Quá trình khai phá dữ liệu 7
Hình 1.2 Kiến trúc hệ thống 9
Hình 2.1 Mô hình cây quyết định 12
Hình 2.2 Cây quyết định cho việc chơi thể thao 13
Hình 2.3 Duyệt CSDL tìm các tập mục phổ biến 1-Itemset (F1) 27
Hình 2.4 Duyệt CSDL tìm các tập mục phổ biến 2-Itemset (F2) 28
Hình 2.5 Sơ đồ so sánh Apriori và AprioriTid 33
Hình 2.6 Cây FP 35
Hình 2.7 Cây FP 36
Hình 2.8 Cây FP 37
Hình 2.9 Cây FP 38
Hình 2.10 Cây FP 39
Hình 2.11 Cây FP 39
Hình 2.12 Cây FP 40
Trang 10đã tạo điều kiện thuận lợi cho con người thu thập thông tin, dữ liệu của các hệthống Đối với các cơ sở dữ liệu (CSDL) lớn thì việc suy diễn thông tin dựatrên dữ liệu lịch sử không thể thực hiện được bởi các phép thống kê thôngthường mà phải sử dụng đến các công cụ của khai phá dữ liệu (KPDL) KPDL
là một tiến trình khai phá tự động những tri thức tiềm ẩn trong cơ sở dữ liệu,
cụ thể hơn là tiến trình lọc sản sinh những tri thức hoặc mẫu tiềm ẩn chứathông tin hữu ích từ số lượng dữ liệu lớn KPDL 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 quy luật, hỗ trợ tích cựccho việc đưa ra các quyết định Khi việc lưu trữ dữ liệu không còn quá đắt đỏ,phần cứng có cấu hình cao, khối lượng dữ liệu khổng lồ, và có nhiều công cụ
hỗ trợ cho việc phát triển KDPL, tất cả đã giúp KDPL trở thành lĩnh vựcmang tính thời sự trong ngành công nghệ thông tin
Đối với ngành viễn thông, thị phần và khách hàng là hai yếu tố hết sứcquan trọng, quyết định sự thành công của doanh nghiệp Chính vì vậy việcnắm được các nhu cầu sở thích của khách hàng cũng như những xu hướngbiến động của thị trường là một lợi thế to lớn cho các doanh nghiệp cạnhtranh và mở rộng thị trường của mình VNPT Quảng Trị là doanh nghiệp
Trang 11cung cấp các sản phẩm dịch vụ về viễn thông, công nghệ thông tin, khôngđứng ngoài xu thế của thị trường, VNPT Quảng Trị luôn không ngừng nângcao, cải tiến các dịch vụ của mình và tìm kiếm dich vụ mới để đáp ứng nhucầu ngày càng lớn của khách hàng Việc này đòi hỏi công ty cần phải có địnhhướng, chiến lược kinh doanh hợp lý để đứng vững trong môi trường viễnthông hiện nay KDPL chính là một trong những kỹ thuật hữu ích nhất để giải
quyết những vấn đề này Luận văn “Nghiên cứu ứng dụng một số kỹ thuật khai phá dữ liệu vào phân tích dữ liệu báo hỏng khách hàng nhằm nâng cao chất lượng dịch vụ Viễn thông” hỗ trợ phát hiện các quy luật ẩn chứa
trong khối dữ liệu khổng lồ mà doanh nghiệp đang có và đưa ra những dựđoán, quyết định đúng, sẽ mang lại cho doanh nghiệp nhiều cơ hội để pháttriển các ứng dụng mang tính thực tiễn cao
2 Mục tiêu nghiên cứu
Mục tiêu của đề tài là tìm hiểu một số kỹ thuật khai phá dữ liệu, áp dụngcác kỹ thuật đó để khai phá dữ liệu báo hỏng dịch vụ của khách hàng, từ đó
dự báo các nguyên nhân dẫn tới khách hàng rời mạng Dựa vào kết quả này
mà người quản lý của doanh nghiệp viễn thông nắm bắt được những yếu tố nàoảnh hưởng đến việc khách hàng ngừng sử dụng dịch vụ, qua đó sẽ có nhữnglựa chọn, chính sách phù hợp để nâng cao chất lượng dịch vụ, hạn chế kháchhàng rời mạng
3 Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
- Đối tượng của nghiên cứu này là các nội dung tổng quan về khai phá
dữ liệu, các kỹ thuật khai phá dữ liệu và thuật toán khai phá luật kết hợp trongCSDL của hệ thống điều hành tác nghiệp của VNPT Quảng Trị
Trang 123.2 Phạm vi nghiên cứu
Do hiện nay VNPT Quảng Trị cung cấp số lượng dịch vụ rất lớn, mỗidịch vụ lại có những đặc điểm và yêu cầu khác nhau nên quy mô và phạm vitriển khai rất lớn, do đó cần thu hẹp phạm vi nghiên cứu đối với một dịch vụ
cụ thể
Phạm vi nghiên cứu của đề tài này là tập dữ liệu báo hỏng của nhómkhách hàng sử dụng dịch vụ internet – băng rộng của VNPT Quảng Trị
4 Phương pháp nghiên cứu
Để thực hiện được mục tiêu và nhiệm vụ đặt ra, đề tài áp dụng haiphương pháp nghiên cứu đó là: phương pháp nghiên cứu lý thuyết và phươngpháp nghiên cứu thực nghiệm:
- Đối với phương pháp nghiên cứu lý thuyết: Đề tài tiến hành nghiêncứu và thu thập các tài liệu liên quan đến khai phá dữ liệu
- Đối với phương pháp thực nghiệm: Đề tài phân tích yêu cầu thực tế,xác định tập dữ liệu khai phá Vận dụng cơ sở lý thuyết, các phương phápkhai phá để cài đặt, đánh giá kết quả trên thực tế
5 Tổng quan vấn đề nghiên cứu
Phần nghiên cứu lý thuyết sẽ hệ thống hóa những khái niệm cơ bản vềkhai phá dữ liệu và nghiên cứu một số kỹ thuật khai phá dữ liệu
Dựa trên các lý thuyết đã nghiên cứu, luận văn xây dựng các quy trình,giải pháp, công cụ góp phần vào nâng cao chất lượng dịch vụ viễn thông tạidoanh nghiệp.
6 Cấu trúc luận văn
Chương 1: Trình bày tổng quan về khai phá dữ liệu.
Chương này trình bày tổng quan về khai phá dữ liệu, nghiên cứu các cơ
sở lý thuyết khai phá dữ liệu
Trang 13Chương 2: Khai phá dữ liệu bằng luật kết hợp và phân lớp dự báo.
Chương này trình bày sâu về nền tảng lý thuyết các kỹ thuật chính sửdụng trong khai phá dữ liệu Đánh giá các ưu điểm của các kỹ thuật khai phá
Trang 14CHƯƠNG 1 TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU
1.1 Khái niệm khai phá dữ liệu
Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối của thập
kỷ 80 Nó bao hàm một loạt các kỹ thuật nhằm phát hiện ra các thông tin cógiá trị tiềm ẩn trong các tập dữ liệu lớn (các kho dữ liệu) Về bản chất, khaiphá dữ liệu liên quan đến việc phân tích các dữ liệu và sử dụng các kỹ thuật
để tìm ra các mẫu hình có tính chính quy trong tập dữ liệu
Ở một mức độ trừu tượng nhất định có thể định nghĩa: Khai phá dữ liệu(Data Mining) là một quá trình tìm kiếm, phát hiện các tri thức mới, tiềm ẩn,hữu dụng trong CSDL lớn
Khai phá tri thức (KDD) là mục tiêu chính của khai phá dữ liệu, do vậyhai khái niệm đó được xem như hai lĩnh vực tương đương nhau Nhưng, nếuphân chia một cách tách bạch thì khai phá dữ liệu là một bước chính trongquá trình KDD
1.2 Quá trình khai phá dữ liệu
KPDL là quá trình tìm kiếm các mẫu mới, những thông tin tiềm ẩnmang tính dự đoán trong các khối dữ liệu lớn
Các dữ liệu này được thu từ nhiều nguồn, đa số là từ các phần mềmnghiệp vụ như: phần mềm tài chính, kế toán, các hệ thống quản lý tài nguyêndoanh nghiệp, các hệ thống quản lý khách hàng hay từ tác công cụ lưu trữthông tin trên web… Đây là những khối dữ liệu khổng lồ nhưng những thôngtin mà nó thể hiện ra thì lộn xộn và “nghèo” đối với người dùng Kích thướccủa khối dữ liệu khổng lồ đó cũng tăng với tốc độ rất nhanh chiếm nhiều dunglượng lưu trữ
Để biến khối dữ liệu khổng lồ thành nguồn thông tin hữu ích cần phảitrải qua các bước phân tích xử lý:
Trang 15Trích chọn dữ liệu (Data selection): Là bước trích chọn những tập dữ
liệu cần được khai phá từ các tập dữ liệu lớn (databases, data warehouses,data repositories) ban đầu theo một số tiêu chí nhất định
Tiền xử lý dữ liệu (Data preprocessing): Là bước làm sạch dữ liệu
(xử lý với dữ liệu không đầy đủ, dữ liệu nhiễu, dữ liệu không nhất quán,.v.v.),rút gọn dữ liệu (sử dụng hàm nhóm và tính tổng, các phương pháp nén dữliệu, sử dụng histograms, lấy mẫu,.v.v.), rời rạc hóa dữ liệu (rời rạc hóa dựavào histograms, dựa vào entropy, dựa vào phân khoảng,.v.v.) Sau bước này,
dữ liệu sẽ nhất quán, đầy đủ, được rút gọn, và được rời rạc hóa
Biến đổi dữ liệu (Data transformation): Là bước chuẩn hóa và làm
mịn dữ liệu để đưa dữ liệu về dạng thuận lợi nhất nhằm phục vụ cho các kỹthuật khai phá ở bước sau
Khai phá dữ liệu (Data mining): Là bước áp dụng những kỹ thuật
phân tích (phần nhiều là các kỹ thuật của học máy) nhằm để khai thác dữ liệu,trích chọn được những mẫu thông tin, những mối liên hệ đặc biệt trong dữliệu Đây được xem là bước quan trọng và tốn nhiều thời gian nhất của toànquá trình KDD
Đánh giá và biểu diễn tri thức (Knowlwdge representation and evaluation): Dùng các kỹ thuật hiển thị dữ liệu để trình bày những mẫu thông
tin (tri thức) và mối liên hệ trong dữ liệu đã được khám phá ở bước trên đượcchuyển dạng và biểu diễn ở một dạng gần gũi với người sử dụng như đồ thị,cây, bảng biểu, luật Đồng thời bước này cũng đánh giá những tri thức khámphá được theo những tiêu chí nhất định
Trang 16Hình 1.1 Quá trình khai phá dữ liệu
1.3 Các kỹ thuật tiếp cận khai phá dữ liệu
Nếu đứng trên quan điểm của học máy (Machine Learning), thì các kỹthuật trong Data Mining, bao gồm:
- Học có giám sát (Supervised learning): Là quá trình gán nhãn lớp cho
các phần tử trong CSDL dựa trên một tập các dữ liệu huấn luyện và cácthông tin về nhãn lớp đã biết
- Học không có giám sát (Unsupervised learning): Là quá trình phân
chia một tập dữ liệu thành các lớp hay là cụm (clustering) dữ liệu tương tựnhau mà chưa biết trước các thông tin về lớp hay tập các ví dụ huấn luyện
- Học bán giám sát (Semi - Supervised learning): Là quá trình phân
chia một tập dữ liệu thành các lớp dựa trên một tập nhỏ các dữ liệu huấnluyện và một số các thông tin về một số nhãn lớp đã biết trước
Trang 17Nếu căn cứ vào lớp các bài toán cần giải quyết, thì Data Mining baogồm các kỹ thuật:
- Phân lớp và dự đoán (Classification & prediction): xếp đối tượng
vào một trong các lớp đã biết trước Ví dụ: phân lớp loại cước hoặc loạidịch vụ dựa trên số máy bị gọi của cuộc gọi, phân lớp khu vực dựa trên sốmáy chủ gọi, phân lớp giờ cao điểm, thấp điểm dựa trên giờ bắt đầu đàmthoại… Phân lớp là một kỹ thuật rất quan trọng trong khai thác dữ liệu.Phân lớp còn được gọi là học có giám sát, hướng tiếp cận này thường được
sử dụng một số kỹ thuật của học máy như cây quyết định (decision tree),mạng nơ ron nhân tạo (neural network)…
- Luật kết hợp (Association rules): Là dạng biểu diễn tri thức ở dạng
luật tương đối đơn giản Ví dụ: “70% khách hàng gọi liên tỉnh thì có 99%trong số khách hàng đó gọi nội tỉnh” Luật kết hợp có khả năng ứng dụngtrong rất nhiều lĩnh vực
- Khai thác mẫu tuần tự (Sequential/temporal patterns): Tương tự
như khai thác luật kết hợp nhưng có theo tính thứ tự và tính thời gian Mộtluật mô tả mẫu tuần tự có dạng biểu diễn X→Y phản ánh sự xuất hiện củabiến cố X sẽ dẫn đến việc xuất hiện kế tiếp biến cố Y Hướng tiếp cận này
có tính dự báo cao
- Phân cụm (Clustering/segmentation): Sắp xếp các đối tượng theo
từng cụm Các đối tượng được gom cụm sao cho mức độ tương tự giữa cácđối tượng trong cùng một cụm là lớn nhất và mức độ tương tự giữa các đốitượng nằm trong các cụm khác nhau là nhỏ nhất Phân cụm còn được gọi làhọc không giám sát (unsupervised learning)
Trang 18
-1.4 Kiến trúc của hệ thống khai phá dữ liệu
Khai phá dữ liệu là một giai đoạn trong quá trình phát hiện tri thức từ
số lượng lớn dữ liệu lưu trữ trong các cơ sở dữ liệu, kho dữ liệu hoặc các nơilưu trữ khác Các giai đoạn trong quá trình khai phá tri thức có thể lặp đi lặplại nhằm tối ưu hóa quá trình khai phá tri thức Nhằm đưa ra các tri thức mới
từ dữ liệu đã có
Hình 1.2 Kiến trúc hệ thống
Kiến trúc của hệ thống khai phá dữ liệu gồm các thành phần sau:
- Máy chủ cơ sở dữ liệu hay máy chủ kho dữ liệu: Máy chủ này có tráchnhiệm lấy dữ liệu thích hợp dựa trên những yêu cầu khai phá của người dùng
- Cơ sở tri thức: Đây là miền tri thức được dùng để tìm kiếm hay đánhgiá độ quan trọng của các hình mẫu kết quả
- Máy khai phá dữ liệu: Một hệ thống khai phá dữ liệu cần phải có mộttập các mô-đun chức năng để thực hiện công việc, chẳng hạn như đặc trưnghóa, kết hợp, phân lớp, phân cụm, phân tích sự tiến hoá…
- Mô-đun đánh giá mẫu: Bộ phận này tương tác với các mô-đun khai phá
dữ liệu để tập trung vào việc duyệt tìm các mẫu đáng được quan tâm Cũng có
Trang 19thể mô-đun đánh giá mâu được tích hợp vào mô-đun khai phá tuỳ theo sự càiđặt của phương pháp khai phá được dùng.
- Giao diện đồ họa cho người dùng: Thông qua giao diện này, ngườidùng tương tác với hệ thống bằng cách đặc tả một yêu cầu khai phá hay mộtnhiệm vụ, cung cấp thông tin trợ giúp cho việc tìm kiếm và thực hiện khai pháthăm dò trên các kết quả khai phá trung gian [13]
1.5 Ứng dụng của khai phá dữ liệu
Khai phá dữ liệu thu hút được rất nhiều sự quan tâm của các nhà nghiêncứu nhờ vào tính ứng dụng thực tiễn của nó Một trong số ứng dụng điển hìnhnhư:
- Phân tích dữ liệu và hỗ trợ ra quyết định(data analysis and dicisionsupport):
Phân tích và quản lý thị trường: Tiếp thị định hướng, quản lý quan hệkhách hàng, phân tích thói quen mua sắm, tiếp thị chéo, phân đoạn thị trường
Phân tích và quản lý rủi ro: dự báo, duy trì khách hàng, cải thiện bảolãnh, kiểm soát chất lượng, phân tích cạnh tranh
Phát hiện gian lận, phát hiện mẫu bất thường
- Tài chính và thị trườ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ụcvốn và giá, lãi suất, dữ liệu thẻ tín dụng, phát hiện gian lận…
- Điều trị và chăm sóc y tế: Một số thông tin về chuẩn đoán lưu bệnhtrong các hệ thống quản lý bệnh viện Phân tích mối liên hệ giữa triệuchứng bệnh, chuẩn đoán và phương pháp điều trị (chế độ dinh dưỡng,thuốc )
- Text mining & Web mining: Phân lớp văn bản và các trang web, tómtắt văn bản…
Trang 20- Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vậthọ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
- Mạng viễn thông: Phân tích các cuộc gọi điện thoại và hệ thống giámsát lỗi, phát hiện gian lận, các ứng dụng quản lý và chăm sóc khách hàng,phát hiện sự cố để đưa ra biện pháp phát triển chất lượng dịch vụ…
Trang 21CHƯƠNG 2 KHAI PHÁ DỮ LIỆU BẰNG LUẬT KẾT HỢP VÀ
PHÂN LỚP DỰ BÁO 2.1.Một số kỹ thuật KPDL trong phân lớp, dự báo
2.1.1 Cây quyết định
2.1.1.1 Khái niệm
Cây quyết định là một cấu trúc biểu diễn dưới dạng cây Trong đó, mỗinút trong biểu diễn một thuộc tính, mỗi nhánh biểu diễn giá trị có thể có củathuộc tính, mỗi lá biểu diễn các lớp quyết định và đỉnh trên cùng của cây gọi
là gốc
Hình 2.1 Mô hình cây quyết định
Trong lĩnh vực học máy, cây quyết định là một kiểu mô hình dự báo,nghĩa là một ánh xạ từ các quan sát về một sự vật/hiện tượng tới các kết luận
về giá trị mục tiêu của sự vật/hiện tượng Mỗi nút trong tương ứng với mộtbiến, đường nối giữa nó với nút con của nó thể hiện giá trị cụ thể cho biến đó.Mỗi nút lá đại diện cho giá trị dự đoán của biến mục tiêu, cho trước các giá trị
dự đoán của các biến được biểu diễn bởi đường đi từ nút gốc tới nút lá đó Kỹthuật học máy dùng trong cây quyết định được gọi là học bằng cây quyếtđịnh, hay chỉ gọi với cái tên ngắn gọn là cây quyết định
Trang 22Ví dụ : Một người có chơi tennis hay không?
Hình 2.2 Cây quyết định cho việc chơi thể thao
Cây quyết định là một cây phân cấp có cấu trúc được dùng để phân lớpcác đối tượng dựa vào dãy các luật Các thuộc tính của đối tượng (ngoại trừthuộc tính phân lớp) có thể thuộc các kiểu dữ liệu khác nhau (Binary,Nominal, ordinal, quantitative values) trong khi đó thuộc tính phân lớp phải
có kiểu dữ liệu là Binary hoặc Ordinal
So với các phương pháp KPDL khác, cây quyết định là một trong nhữnghình thức mô tả dữ liệu tương đối đơn giản, trực quan, dễ hiểu đối với ngườidùng nhưng lại hiệu quả nên được sử dụng nhiều Trong những năm qua,nhiều mô hình phân lớp dữ liệu đã được các nhà khoa học trong nhiều lĩnhvực khác nhau đề xuất như mạng notron, mô hình thống kê tuyến tính /bậc 2,cây quyết định, mô hình di truyền Trong số những mô hình đó, cây quyếtđịnh được đánh giá là một công cụ mạnh, phổ biến, đặt biệt là thích hợp cho
DM nói chung và cho phân lớp dữ liệu nói riêng Có rất nhiều giải thuật đãđược cài đặt sẵn như: CART (Breiman [4]), C4.5 (Quinlan [7])
Trang 232.1.1.2 Thuật toán C4.5
C4.5 là thuật toán dùng để xây dựng cây quyết định được đề xuất bởiQuinlan năm 1993, là mở rộng của ID3 Đặc điểm của C4.5:
- Cho phép dữ liệu đầu vào ở các thuộc tính là liên tục
- Cho phép thao tác với các thuộc tính có dữ liệu không xác định (do bịmất mát dữ liệu)
- Đưa ra phương pháp cắt tỉa cây và giản lược các luật để phù hợp vớinhững bộ dữ liệu lớn
- C4.5 sử dụng cơ chế lưu trữ dữ liệu thường trú trong bộ nhớ, chínhđặc điểm này làm C4.5 thích hợp với những cơ sở dữ liệu nhỏ, và cơ chế sắpxếp lại dữ liệu tại mỗi nút trong quá trình phát triển cây quyết định
- C4.5 còn chứa kỹ thuật cho phép biểu diễn lại cây quyết định dướidạng một danh sách sắp thứ tự các luật if-then (một dạng quy tắc phân lớp dễhiểu) Kỹ thuật này cho phép làm giảm bớt kích thước tập luật và đơn giảnhóa các luật mà độ chính xác so với nhanh tương ứng cây quyết định là tươngđương
C4.5 có cơ chế sinh cây quyết định hiệu quả và chặt chẽ bằng việc sửdụng độ đo lựa chọn thuộc tính tốt nhất là Information Gain Các cơ chế xử lývới giá trị lỗi, thiếu và tránh quá phù hợp của dữ liệu của C4.5 cùng với cơchế cắt tỉa cây đã tạo nên sức mạnh của C4.5 Thêm vào đó, mô hình phân lớpC4.5 còn có phần chuyển đổi từ cây quyết định sang luật dạng if-then, làmtăng độ chính xác và tính dễ hiểu của kết quả phân lớp Đây là tiện ích rất có
ý nghĩa đối với người sử dụng
Độ đo GainRatio được sử dụng trong thuật toán C4.5 là cải tiến của
thuật toán ID3 và được xây dựng bởi Quinlan là thước đo cải tiến của chỉ sốInformation Gain
Trang 24• Độ đo này giải quyết vấn đề thuộc tính cĩ nhiều giá trị: Trong tập mẫuhuấn luyện bài tốn chơi thể thao ở trên, nếu sử dụng thêm thuộc tính ngày thìthuộc tính này cĩ 14 giá trị khác nhau và thuộc tính này cĩ IG cao nhất, và khi
đĩ Ngày được chọn làm gốc với 14 nhánh và khơng phân loại được các ngàytiếp theo Do đĩ cần tránh thuộc tính cĩ nhiều giá trị Thành phần thơng tin chia(Split Information-SI) được bổ sung để phạt các thuộc tính cĩ nhiều giá trị:
2.1.2 Phân lớp Nạve Bayes
Định lý Bayes cho phép tính xác suất xảy ra của một sự kiện ngẫunhiên A khi biết sự kiện liên quan B đã xảy ra Xác suất này được ký hiệu làP(A|B), và đọc là "xác suất của A nếu cĩ B" Đại lượng này được gọi xác suất
cĩ điều kiện vì nĩ được rút ra từ giá trị được cho của B hoặc phụ thuộc vàogiá trị đĩ
Theo định lí Bayes, xác suất xảy ra A khi biết B sẽ phụ thuộc vào 3 yếutố:
- Xác suất xảy ra A của riêng nĩ, khơng quan tâm đến B, kí hiệu làP(A) và đọc là xác suất của A Đây được gọi là xác suất biên duyên hay xácsuất tiên nghiệm (prior), nĩ là "tiên nghiệm" theo nghĩa rằng nĩ khơng quantâm đến bất kỳ thơng tin nào về B
Trang 25- Xác suất xảy ra B của riêng nó, không quan tâm đến A, kí hiệu làP(B) và đọc là "xác suất của B" Đại lượng này còn gọi là hằng số chuẩn hóa,
vì nó luôn giống nhau, không phụ thuộc vào sự kiện A đang muốn biết
- Xác suất xảy ra B khi biết A xảy ra, kí hiệu là P(B|A) và đọc là "xácsuất của B nếu có A" Đại lượng này gọi là khả năng (likelihood) xảy ra B khibiết A đã xảy ra Chú ý không nhầm lẫn giữa khả năng xảy ra A khi biết B vàxác suất xảy ra A khi biết B
Khi biết ba đại lượng trên, xác suất của A khi biết B cho bởi công thức:
P ( A|B)= P (B|A ) P ( A )
P (B ) =
likelihood∗prior normallisingconstant
- Các thuộc tính trong tập mẫu học phải độc lập với điều kiện
- Độ chính xác thuật toán phân lớp phụ thuộc nhiều vào tập dữ liệu họcban đầu
2.2.Tổng quan về luật kết hợp
2.2.1 Các khái niệm cơ bản
Định nghĩa 2 2.1: Ngữ cảnh khai phá dữ liệu
Cho tập O là tập hữu hạn khác rỗng các giao tác và I là tập hữu hạnkhác rỗng các mặt hàng, R là một quan hệ hai ngôi giữa O và I sao cho với o
Trang 26¿ O và i ¿ I, (o,i) ¿ R= > giao tác.o có chứa mặt hàng i Ngữ cảnh khaiphá dữ liệu (dưới đây sẽ gọi tắt là NCKPDL) là bộ ba (O, I, R).
Định nghĩa 2 2 2: Các kết nối Galois
Cho NCKPDL (O, I, R), xét hai kết nối Galois ρ và λ được định nghĩanhư sau:
ρ : P (I) →P (O) và λ : P (O) →P (I):
Cho S ¿ I, ρ (S) = {oo ¿ O | ∀ i ¿ S, (o, i) ¿ R}
Cho X ¿ O, λ (X) = {oi ¿ I | ∀ o ¿ X, (o, i) ¿ R}
Trong đó P (X) là tập các tập con của X
Cặp hàm (ρ, λ) được gọi là kết nối Galois Giá trị ρ (S) biểu diễn tậpcác giao tác có chung tất cả các mặt hàng trong S Giá trị λ (X) biểu diễn tậpmặt hàng có trong tất cả các giao tác của X
Định nghĩa 2.2.3: Độ hỗ trợ (Support)
Độ hỗ trợ của một tập mục X trong cơ sở dữ liệu D là tỉ số giữa cácgiao tác T ¿ D có chứa tập X là tổng số giao tác trong D (hay là phần trămcủa các giao tác trong D có chứa tập mục X), kí hiệu là Supp (X)
Supp (X)=
Ta có 0 ¿ Supp (X) với mọi tập X
Hay có thế nói Support chỉ mức độ “thướng xuyên xảy ra” của mẫu
Độ 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 là Supp (X→Y)
Supp (X→Y)=
Như vậy độ hỗ trợ của một luật bằng 50% nghĩa là có 50% số giao tác
có chứa tập mục X ¿ Y Độ hỗ trợ có ý nghĩa thống kê của luật kết hợp
Định nghĩa 2 2.4: Độ tin cậy ( Confidence)
Trang 27Tính chất 2 2.4.1: Hỗ trợ của tập con.
Giả sử A,B ¿ I là tập các tập mục với A ¿ B thì Supp (A) ¿
Supp (B)
Thật vậy, tính chất này có thể suy ra trực tiếp từ khái niệm tập mục phổbiến, vì tất cả các giao tác hỗ trợ B thì cũng hỗ trợ A Như vậy giao tác nàochứa tập mục B thì cũng chứa tập mục A
Thật vậy, A là tập mục không thường xuyên nên Supp (A) ¿ Minsup
mà A ¿ B nên Supp (A) ¿ Supp (B)
Suy ra Supp (B)< Minsup vậy B là tập mục không phổ biến
Độ tin cậy của một luật r = X→Y là tỉ số (phần trăm) của số giao táctrong 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
Trang 28Nhận xét: Độ hỗ trợ và độ tin cậy chính là xác suất sau:
Supp (X→Y) = P (X ¿ Y)
Conf (X→Y) = P (Y/X) = Supp (X ¿ Y)/Supp (X)
Ta nói rằng với luật có độ tin cậy 85% thì có nghĩa là 85% các giao tác
có chứa X thì cũng chứa Y Độ tin cậy của một luật là thể hiện mức độ tườngquan trong dữ liệu giữa hai tập X và Y Độ tin cậy là độ đo mức độ tin cậycủa một luật
Định nghĩa 2.2.5: Tập mặt hàng phổ biến
Cho NCKPDL (O, I, R) và Minsup ¿ (0, 1] là ngưỡng phổ biến tốithiểu Cho S ¿ I, độ phổ biến của S ký hiệu là SP (S) là tỉ số giữa số cácgiao tác có chứa S và số lượng giao tác trong O Nói cách khác SP (S)= |ρ (S)|/ |O|
Cho S ¿ I, S là một tập các mặt hàng phổ biến theo ngưỡng Minsupnếu và chỉ nếu SP (S) ≥ Minsup Trong các phần sau tập mặt hàng phổ biến sẽđược gọi tắt là tập phổ biến Ký hiệu FS (O, I, R, Minsup) = {oS ¿ P (I) | SP(S) ≥ Minsup)
2.2.2.Khái niệm luật kết hợp
Để đơn giản hóa, chúng ta có thể hiểu luật kết hợp như sau: luật kếthợp là luật chỉ ra mối quan hệ của hai hay nhiều đối tượng (đối tượng chúng
Trang 29Nếu nhìn nhận luật kết hợp theo lý thuyết tập hợp thì chúng ta có thểđịnh nghĩa như sau:
Tập toàn bộ các mục I = {oi1, i2, …, ik}: “tất cả các mặt hàng” Cho D
là một cơ sở dữ liệu giao dịch như là danh sách các mặt hàng (mục: item)trong một phiếu mua hàng của khách hàng Giao dịch T là một tập mục Mộtgiao dịch T là một tập con của I: T I Mỗi giao dịch T có một định danh làTID X là một tập mục X I và T là một giao dịch: Gọi T chứa X nếu X T.Gọi X Y là một “luật kết hợp” nếu X I, Y I và XY=Æ
Kí hiệu support(X) (hoặc sup(X), s(X)) là tỷ lệ phần trăm của cácgiao dịch hỗ trợ X trên tổng các giao dịch trong D, nghĩa là:
Luật kết hợp X Y có độ tin cậy (confidence) c trong CSDL D nếu nhưtrong D có c% các giao dịch T chứa X thì cũng chứa Y: chính là xác suất P(X|Y)
Confidence (X Y) = P(X|Y) : 1 c (X Y) 0 (3)
Luật X Y được gọi là đảm bảo độ hỗ trợ s trong D nếu s(X Y) s.Luật X Y được gọi là đảm bảo độ tin cậy c trong D nếu c(X Y) c Luậtthỏa mãn cả hai ngưỡng hỗ trợ tối thiểu (min_sup) và ngưỡng tin cậy tối thiểu(min_conf) được gọi là luật mạnh Độ hỗ trợ và độ tin cậy nhận giá trị trongkhoảng từ 0% đến 100% hoặc từ 0.0 đến 1.0 giá trị min_sup và min_confđược xác định bởi người dùng hoặc chuyên gia
Công thức (3) có thể được viết lại như sau:
Trang 30Confidence( X Y )= p(Y I∨ X I)= p (Y T X T )
P ( X T ) =
¿ (X Y )
¿ (X ) (4)Công thức (4) cho biết độ tin cậy của luật X Y có thể dễ dàng nhậnđược từ độ hỗ trợ của X và XY Như vậy, quá trình khai phá luật kết hợpphải được thực hiện thông qua hai bước:
Bước 1: Tìm tất cả các tập mục mà có độ hỗ trợ lớn hơn độ hỗ trợ tốithiểu do người dùng xác định Các tập mục thoả mãn độ hỗ trợ tối thiểu đượcgọi là các tập mục phổ biến
Bước 2: Tạo luật liên kết mạnh từ tập mục phổ biến sinh ra các luật mongmuốn Ý tưởng chung là nếu gọi XYZW và XY là các tập mục phổ biến, thìchúng ta có thể xác định luật nếu XY => ZW giữ lại với tỷ lệ độ tin cậy:
conf =¿(XYZW )
¿ (XY ) (5)Nếu conf ≥ min_conf thì luật được giữ lại (luật này sẽ thoả mãn độ hỗ trợ tối thiểu vì XYZW là phổ biến)
Ví dụ, minh họa bài toán khai phá mẫu phổ biến tìm luật kết hợp
Cho tập mục I= {oA,B,C,D,E,F} gồm 6 mục Xét cơ sở giao dịch D với các giao dịch có định danh TID ở bảng dưới đây (Giả sử min_sup = 50%, min_conf = 50%)
Bảng 2.1 Cơ sở dữ liệu giao dịch D
Bảng 2.2 Tần xuất xuất hiện và độ hỗ trợ của các tập mục phổ biến
Trang 31Tập các mục
Tần suất xuất hiện
Độ hỗ trợ (Support)
Luật C A, ta có độ tin cậy và độ hỗ trợ lần lượt thỏa mãn min_sup
và min_conf nên luật này là luật mạnh:
SupportC A¿ =P(CA )=support ({C }{ A })=2
sẽ được tạo từ các tập phổ biến có k-1 phần tử Gọi Fk = {oS ¿ P (I) | SP (S) ≥Minsup và |S|= k} Thuật toán sẽ duyệt từng ứng viên để tạo Fk bao gồm cácứng viên có độ phổ biến lớn hơn hoặc bằng ngưỡng Minsup
- Tập các hạng mục (Itemset) I = {oi1, i2, …, i m}:
VD : I = {osữa, bánh mì, ngũ cốc, sữa chua}
Trang 32Tập k hạng mục (k-Itemset).
- Giao dịch t : tập các hạng mục sao cho t I
VD : t = {obánh mì, sữa chua, ngũ cốc}
- CSDL D = {ot1, t2, …, tn}, ti= {oii1, ii2, …, iik} với iij Î I : CSDL giao dịch
- Giao dịch t chứa X nếu X là tập các hạng mục trong I và X t
VD : X = {obánh mì, sữa chua}
- Độ phổ biến (supp) của tập các hạng mục X trong CSDL D là tỷ lệ giữa số các giao dịch chứa X trên tổng số các giao dịch trong D.
Supp (X) = count (X) / | D |
Tập các hạng mục phổ biến S hay tập phổ biến (Frequent Itemset) làtập các hạng mục có độ phổ biến thỏa mãn độ phổ biến tối thiểu
Nếu Supp (S) Minsup thì S - tập phổ biến
- Tính chất của tập phổ biến (Apriori)
Tất cả các tập con của tập phổ biến đều là tập phổ biến
2.3.2.Giải thuật Apriori để sinh các luật kết hợp
Apriori sử dụng phương pháp đệ quy được trong quá trình phát hiệnluật kết hợp, trong đó k-itemset được dùng để tìm (k+1)- itemsets
Đầu tiên, 1- itemsets tập mục phổ biến có được bằng cách duyệt CSDL
để đếm các mục và lựa chọn các mục thỏa mãn độ hỗ trợ tối thiểu (min-sup).Kết quả thể hiện bởi tập F1
F1 được dùng để tìm F2 (có hai tập mục phổ biến), rồi sử dụng F2 để tìmF3 (3- itemset) và tiếp tục cho đến khi không có k-itemset được tìm thấy
Tính chất Apriori[9]: Mọi tập con khác rỗng của tập mục phổ biến cũngphải phổ biến Ví dụ, nếu {obia, bỉm, hạnh nhân} là phổ biến thì {obia, bỉm}cũng vậy, mọi giao dịch chứa {obia, bỉm, hạnh nhân} cũng chứa {obia, bỉm}.Thuật toán được thực hiện qua hai bước cơ bản, bao gồm bước kết nối (join)
và bước cắt tỉa (prune)
Trang 33- Bước kết nối (join): Tìm tập mục phổ biến Lk từ tập ứng viên Ck Tậpứng viên Ck được sinh ra bằng cách kết nối Lk-1 với chính nó Cho l1 và l2 làcác tập mục thuộc Lk-1 Ký hiệu li[j] để chỉ tập mục thứ j trong tập mục li Theo quy ước, Apriori giả định các mục bên trong một giao dịch hoặc một tậpmục được sắp xếp theo thứ tự từ điển Đối với (k-1)-tập mục, li , có nghĩa làcác mục được sắp xếp theo thứ tự li[1] < li[2] < < li[k-1] Kết nối Lk-1 với Lk-
1 được thực hiện như sau: các thành phần của Lk-1được kết hợp nếu (k-2) mụcđầu tiên giống nhau Ở đó, thành phần l1 và l2 của Lk-1 được kết hợp nếu (l1[1]
= l2[1] ∧ l1[2] = l2[2] ∧ … ∧ l1[k-2] = l2[k-2] ∧ l1[k-1] < l2[k-1])
Điều kiện l1[k-1] < l2[k-1] chỉ đơn giản là đảm bảo rằng không có trùnglặp tạo ra Tập mục kết hợp được hình thành bằng cách kết hợp l1 và l2 làl1[1], l1[2], …, l1[k-2], l1[k-1], l2[k-1]
- Bước tỉa (prune): Tập ứng viên Ck là tập cha Lk, các thành viên của nó
có thể phổ biến có k mục duyệt CSDL để xác định số lượng các ứng viên sẽxuất hiện trong Ck, nhưng số ứng viên này có thể rất lớn, vì vậy điều này cóthể dẫn đến việc tính toán khó khăn Để giảm kích thước Ck, tính chất Aprioriđược sử dụng như sau: Nếu bất kỳ (k-1) tập con không phổ biến thì không thể
là tập con của k-tập mục phổ biến, do đó có thể xóa khỏi Ck Kiểm tra tập connày có thể thực hiện nhanh chóng bằng cách duy trì một cây băm của tất cảcác mục phổ biến
2.3.3.Mô tả thuật toán Apriori dưới dạng giả mã
Đầu vào:
- Cơ sở dữ liệu giao dịch D = {ot|t : giao dịch}
- Độ hỗ trợ tối thiểu min_sup > 0
Đầu ra: Tập hợp tất cả các tập phổ biến
Phương pháp:
(0) mincount = min_sup * |D|;
Trang 34(1) F1 = {otất cả các tập mục phổ biến có độ dài bằng 1};
(2) For (k=2; Fk-1≠ ∅, k++){o (3) Ck = Apriori-gen (Fk-1); //Sinh mọi ứng viên có độ dài k (4) For ( mỗi giao dịch t ∈D) {o // quét CSDL D để đếm (5) Ct = ( c ∈Ck| c ∈t); //tất cả các ứng viên c thuộc Ck với c làtập con của giao dịch t (6) For (mỗi ứng viên c∈Ct)
(7) c.Count++;
(8) } // kết thúc lặp các giao dịch t ∈D (9) Fk = {o c ∈Ck | c.count ≥min_sup }(10)} //kết thúc vòng lặp
(11)} Return ∪kFk Thuật toán Apriori được trình bày dưới dạng giả mã và các thủ tục liênquan Bước 1 của Apriori là tìm tất cả các tập mục phổ biến F1 có độ dàibằng 1 Từ bước 2 đến bước 10, Fk-1 được sử dụng để sinh ứng viên Ck theotrình tự để tìm Lk với k ≥ 2 Thủ tục Apriori_gen sinh các ứng viên và sửdụng tính chất Apriori để loại trừ những tập con không phổ biến (bước 3).Thủ tục này được mô tả phía dưới Một khi tất cả các ứng viên đã được sinh
ra, CSDL sẽ được quyét (bước 4) Với mỗi giao dịch, một hàm con được sửdụng để tìm tất cả các tập con của giao dịch đã được ứng cử (bước 5), và sốứng viên của mỗi giao dịch được tính (bước 6 và 7) Cuối cùng, tất cả các ứngviên đáp ứng độ hỗ trợ tối thiểu (bước 9) cấu thành lên tập mục phổ biếnkFk (bước 11)
∪kFk (bước 11) Thủ tục được gọi sau đó để sinh luật kết hợp từ tập mụcphổ biến
Thủ tục Apriori_gen thực hiện kết nối và cắt tỉa Trong thành phần kết nối, Fk-1 được kết nối với Fk-1 để sinh các ứng viên tiềm năng (bước 1 đến bước 4) Thành phần tỉa (bước 5 đến bước 7) dựa vào tính chất Apriori để
Trang 35loại bỏ các ứng viên mà có tập con không phổ biến Thủ tục
has_infrequent_subset dùng để kiểm tra các tập con không phổ biến
Procedure Apriori_gen (Fk-1 : tập mục phổ biến có độ dài k-1)
(6) delete c; //bước tỉa: loại bỏ các ứng viên không có lợi
(7) Else thêm c vào Ck;
2.3.4.Ví dụ minh họa thuật toán Apriori
Xét CSDL giao dịch D được cho trong bảng sau: Bao gồm 9 giao dịchvới độ hỗ trợ tối thiểu là 2, nghĩa là min_sup = 2/9 = 22 %, độ tin cậy tối thiểu
là 70%
Bảng 2.3 CSDL sử dụng minh hoạ thuật toán Apriori
Trang 36Giả sử độ hỗ trợ cực tiểu là Minsup = 2/9*100% = 22% Khi đó tậpmục phổ biến 1-Itemset (F1), được xác định như sau: F1 bao gồm tất cả cácứng viên thuộc C1 thoả mãn độ hỗ trợ tối thiểu Trong ví dụ này tất cả các ứngviên trong C1 đều thỏa mãn độ hỗ trợ tối thiểu (đều lớn hơn 2).
Hình 2.3 Duyệt CSDL tìm các tập mục phổ biến 1-Itemset (F1)
Tìm ra các tập mục phổ biến 2-Itemset (F2), thuật toán sử dụng kết nối F1với F1 để sinh ra tập ứng cử 2-Itemset (C2) C2 bao gồm tổ hợp chập lj[i] của cácphần tử có trong F1 do đó số lượng các phần tử của C2 được tính như sau:
|C 2|=C¿21∨F=C52= 5 !
Tiếp theo, quét các giao dịch trong D và tính độ hỗ trợ của các tập ứng
cử trong C2 Tập mục phổ biến 2-Itemset F2 được xác định, bao gồm các tập
Trang 37mục 2-Itemset là ứng viên trong C2 có độ hỗ trợ lớn hơn hoặc bằng độ hỗ trợtối thiểu Minsup
Hình 2.4 Duyệt CSDL tìm các tập mục phổ biến 2-Itemset (F 2 )
Sinh các tập ứng cử 3-Itemset, C3 bằng cách, kết nối F2 với chính nó ta nhận được kết quả C3 là:
C3 = {o{oI1, I2, I3}, {oI1, I2, I5}, {oI1, I3, I5}, {o I2, I3, I4}, {o I2, I3, I5}, {o I2, I4, I5}}
Sử dụng tính chất Apriori để tỉa bớt các ứng cử: Tất cả các tập con củatập phổ biến là tập phổ biến Do đó 4 ứng cử viên của tập C3 không thể là tậpphổ biến vì nó chứa các tập không phổ biến, ta thực hiện tỉa (loại) bốn tập ứng
cử viên đó khỏi C3 Cụ thể như sau:
+ Các tập {oI1, I3, I5}, {o I2, I3, I5}, không là phổ biến vì tập con {oI3, I5}của nó không phổ biến (không có trong F2)
+ Tập {o I2, I3, I4} không là phổ biến vì tập con {oI3,I4} của nó không phổbiến (không có trong F2)
+ Tập {o I2, I4, I5} không là phổ biến vì tập con {o I4, I5} của nó khôngphổ biến (không có trong F2)
Việc tỉa bớt các tập ứng cử này sẽ làm giảm bớt việc phải quét CSDL
để tính độ hỗ trợ khi xác định F3 Lưu ý rằng, với ứng cử k-Itemset, chúng ta
Trang 38chỉ cần kiểm tra tập con (k-1)-Itemset có là phổ biến hay không? Vì thuật toánApriori sử dụng chiến lược tìm kiếm theo chiều rộng
Như vậy sau khi thực hiện kết nối và tỉa ta thu được kết tập C3 là:
C3 = {o{oI1, I2, I3}, {oI1, I2, I5}}
Quét các giao dịch trong CSDL để xác định F3, F3 bao gồm các ứng cử3- Itemset trong C3 thoả mãn độ hỗ trợ tối thiểu Ta có F3 là:
F3 = {o{o I1, I2, I3}, {o I1, I2, I5}}
Sinh các tập ứng cử 3-Itemset, C3 bằng cách kết nối F3 với chính nó tanhận được kết quả C4 là tập mục {oI1, I2, I3, I5} Sau đó thực hiện bước tỉa thìtập {o I1, I2, I3, I5} bị tỉa vì nó chưa tập con {o I2, I3, I5} không là tập phổ biến(không có trong F3) Như vậy ta có C4 = Æ đến đây thuật toán kết thúc Vậytập hợp tất cả các tập mục phổ biến đã được tìm
Các tập mục phổ biến tìm được từ CSDL giao dịch D với độ hỗ trợ tối thiểu Minsup = 22% (độ hỗ trợ tối thiểu tương đương với số giao dịch = 2)
Bảng 2.4 Kết quả thực hiện thuật toán Aprori cho CSDL D
Loại tập mục phổ
biến
Các tập mục phổ biến
1-Itemset {oI1} {oI2} {oI3} {oI4} {oI5}
2-Itemset {o I1, I2} {o I1, I3} {o I1, I5} {o I2, I3} {o I2, I4} {o I2, I5}3-Itemset {o I1, I2, I3} {oI1, I2, I5}
Chúng ta có thể sinh ra các tập luật kết hợp từ các tập mục phổ biến với
độ tin cậy tối thiểu là 70%
R1: I1 ^ I2 -> I5