1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

76 0 0

Đ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

Thông tin cơ bản

Tiêu đề 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
Tác giả Hồ Thị Hồng Nhung
Người hướng dẫn TS. Lê Quốc Hải
Trường học Trường Đại học Duy Tân
Chuyên ngành Khoa học máy tính
Thể loại Luận văn Thạc sĩ Khoa học máy tính
Năm xuất bản 2022
Thành phố Đà Nẵng
Định dạng
Số trang 76
Dung lượng 0,93 MB

Nội dung

Đố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 1

BỘ 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 2

BỘ 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 3

LỜ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 4

LỜ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 5

MỤ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 6

2.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 7

DANH 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 8

DANH 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 9

DANH 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 11

cung 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 12

3.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 13

Chươ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 14

CHƯƠ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 15

Trí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 16

Hì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 17

Nế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 19

thể 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 21

CHƯƠ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 22

Ví 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 23

2.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 27

Tí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 28

Nhậ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 29

Nế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à XY=Æ

 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 30

Confidence( 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à XY 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 31

Tậ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 32

Tậ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 35

loạ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 36

Giả 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 37

mụ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 38

chỉ 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

Ngày đăng: 07/03/2024, 20:47

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w