1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Ứng dụng một số kỹ thuật khai phá dữ liệu để phân tích dữ liệu viễn thông nhằm tăng cường chất lượng dịch vụ khách hàng

76 19 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

Định dạng
Số trang 76
Dung lượng 1 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đề tài được nghiên cứu ứng dụng phương pháp luật kết hợp, một trong nhữngnhững kỹ thuật rất quan trọng của khai phá dữ liệu.. Nội dung chính của luận văn đượcchia thành năm chương như sa

Trang 1

MỤC LỤC

Chương 1 Mở đầu 12

1.1 Khai phá dữ liệu 12

1.2 Quá trình khai phá tri thức trong cơ sở dữ liệu 12

1.3 Các kỹ thuật tiếp cận trong khai phá dữ liệu 14

1.4 Kiến trúc của hệ thống khai phá dữ liệu 15

1.5 Ứng dụng của khai phá dữ liệu 17

1.6 Hướng tiếp cận của luận văn 17

1.6.1 Ứng dụng quản lý và chăm sóc khách hàng 18

1.6.2 Hướng nghiên cứu của đề tài 19

Chương 2 Giới thiệu khai phá mẫu phổ biến, luật kết hợp 21

2.1 Khái niệm về khai phá mẫu phổ biến 21

2.1.1 Mẫu phổ biến 21

2.1.2 Ý nghĩa của khai phá mẫu phổ biến 21

2.1.3 Bài toán thực tế 22

2.2 Tổng quan về luật kết hợp 24

2.2.1 Khái niệm luật kết hợp 24

2.2.2 Giải thuật Apriori để sinh các luật kết hợp 27

2.2.3 Mô tả thuật toán Apriori dưới dạng giả mã 28

2.2.4 Ví dụ minh họa thuật toán Apriori 30

2.2.5 Một số kỹ thuật cải tiến thuật toán Apriori 34

Chương 3 Lưu trữ dữ liệu lớn dựa trên Oracle DBMS 38

3.1 Giới thiệu hệ quản trị CSDL Oracle 38

3.2 Phương pháp tiếp cận và kiến trúc 41

Trang 2

Chương 4 Phân tích Luật kết hợp dựa trên Cơ Sở Dữ Liệu Oracle 45

4.1 Đặc tả bài toán 45

4.2 Sinh tập các ứng viên 46

4.2.1 Thực hiện phép nối giữa tập mục phổ biển Fk 46

4.2.2 Thực hiện bước tỉa loại bỏ ứng viên không có lợi 47

4.3 Tính độ hỗ trợ 49

4.4 Sinh các luật kết hợp từ các tập mục phổ biến 50

4.4.1 Kết hợp các tập mục phổ biến có độ dài từ 1 đến k 50

4.4.2 Sinh các tập con bảng tập mục phổ biến FISETS 51

4.4.3 Sinh các luật kết hợp 52

4.5 Ví dụ minh họa 53

Chương 5 Ứng dụng vào phân tích dữ liệu viễn thông tại Beeline 56

5.1 Mô tả và chuyển đổi dữ liệu 56

5.1.1 Mô tả các bảng dữ liệu 56

5.1.2 Các bước chuyển đổi dữ liệu 56

5.2 Xây dựng hệ thống thực nghiệm 58

5.2.1 Sinh tập các ứng viên và tính độ hỗ trợ 59

5.2.2 Sinh các luật kết hợp từ các tập mục phổ biến 60

5.3 Phân tích dữ liệu kết quả thực nghiệm 61

5.3.1 Mật độ phân bố luật kết hợp trên độ hỗ trợ và độ tin cậy 61

5.3.2 Xác định mối quan hệ giữa các dịch vụ gia tăng 62

Kết luận 64

Tài liệu tham khảo 65

Trang 3

DANH SÁCH HÌNH VẼ

Hình 1.1: Khai phá dữ liệu là một bước trong quá trình khai phá tri thức 13

Hình 1.2: Kiến trúc của hệ thống khai phá dữ liệu 16

Hình 2.1: Cơ sở dữ liệu giao dịch D 26

Hình 2.2: Tần xuất xuất hiện và độ hỗ trợ của các tập mục phổ biến 26

Hình 2.3: CSDL sử dụng minh hoạ thuật toán Apriori 30

Hình 2.4: Duyệt CSDL tìm các tập mục phổ biến 1-Itemset (F1) 31

Hình 2.5: Duyệt CSDL tìm các tập mục phổ biến 2-Itemset (F2) 31

Hình 2.6: Duyệt CSDL tìm các tập mục phổ biến 3-Itemset (F3) 32

Hình 2.7: Kết quả thực hiện thuật toán Aprori cho CSDL D 33

Hình 2.8: Bảng băm H2, với tập mục ứng viên 2-item 34

Hình 2.9: Khai thác bằng cách phân hoạch dữ liệu 36

Hình 3.1: Bảng dữ liệu quan hệ lưu giữ dữ số lượng các tập mục 43

Hình 3.3: Giới hạn trong CSDL Oracle 44

Hình 4.1: Cách chuyển đổi cấu trúc bảng dữ liệu giao dịch 45

Hình 4.2: Thực hiện phép nối giữa tập mục phổ biến Fk 46

Hình 4.3: Thực hiện bước tỉa loại bỏ ứng viên không có lợi 47

Hình 4.4: Sinh và tỉa tập các ứng viên có độ dài k 48

Hình 4.6: Tính độ hỗ trợ theo phương pháp K-way 49

Hình 4.7: Mô hình cây tính độ hỗ trợ bằng phương pháp nối K-way 50

Hình 4.8: Kết hợp các tập mục phổ biến độ dài từ 1 đến k 50

Hình 4.9: Liệt kê tổ hợp chập k của n phần tử 52

Hình 4.10: Sinh các tập luật kết hợp mạnh từ các tập mục phổ biến 52

Trang 4

DANH SÁCH BẢNG BIỂU

Hình 2.1: Cấu trúc các thuộc tính của CDR 72

Hình 2.2: Bảng dữ liệu ACCOUNT_SUBSCRIBER 73

Hình 2.3: Bảng dữ liệu CDR_BALANCE_FULL 73

Hình 2.4: Bảng dữ liệu OFFER_VALUES 73

Hình 2.5: Bảng dữ liệu AUT_TEMP 74

Trang 6

DANH MỤC CÁC CHỮ VIẾT TẮT

AI Artificial Intelligence (Trí tuệ nhân tạo)

KDD Knowledge Discovery in Databases (Phát hiện tri thức trong cơ sở dữ

liệu)DSS Decision Suport System (Hệ trợ giúp quyết định)

RDBMS Hệ quản trị CSDL quan hệ

UDFs User-Defined Functions (Hàm định nghĩa trực tiếp bởi người dùng)

Trang 7

MỞ ĐẦU

Ngành công nghiệp viễn thông lưu trữ một khối lượng dữ liệu khổng lồ, baogồm chi tiết cuộc gọi, thông tin cảnh báo trình trạng của hệ thống mạng viễn thông vàthông tin dữ liệu về khách hàng Ứng dụng kỹ thuật khai phá dữ liệu (data mining) đểphát hiện các quy luật ẩn chứa trong khối dữ liệu khổng lồ đó sẽ mang lại cho cácdoanh nghiệp viễn thông nhiều cơ hội để phát triển các ứng dụng mang tính thực tiễncao Đây là một hướng đi phù hợp và đã sớm được áp dụng phổ biến ở nhiều công tyviễn thông lớn trên thế giới

Với sự phát triển mạnh mẽ của khoa học công nghệ cùng với sự lớn mạnh củathị trường viễn thông tại Việt Nam, đến nay có 08 doanh nghiệp được cấp phép hoạtđộng dịch vụ điện thoại di động Tính đến hết tháng 8/2012, tổng số thuê bao điệnthoại di động của Việt Nam đã lên đến 140 triệu thuê bao, đạt mật độ 160 máy/100dân Với tỷ lệ điện thoại cao gấp 1,6 lần dân số, thị trường viễn thông di động ViệtNam xem như đã bước vào giai đoạn bão hoà Tốc độ tăng trưởng thuê bao dự báo sẽrơi từ mức 40-50%/năm hiện nay xuống chỉ còn 5-15%/năm trong 4-5 năm tới

Ở Việt Nam, nhu cầu dịch vụ viễn thông ngày càng gia tăng và mở rộng vớinhiều dịch vụ tiện ích, bao gồm cả internet và băng rộng, có thể trở thành truy cập phổcập, thay thế nhu cầu viễn thông cố định Chính vì vậy, một nhu cầu đặt ra cho cácnhà cung cấp các dịch vụ viễn thông là đối mặt được với áp lực cạnh tranh khốc liệt từcác nhà cung cấp dịch vụ trong nước đến các tập đoàn viễn thông đa quốc gia

Đố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ức quantrọng, quyết định sự thành công của doanh nghiệp Chính vì vậy việc nắm được cácnhu cầu sở thích của khách hàng cũng như những xu hướng biến động của thị trường

là một lợi thế to lớn cho các doanh nghiệp cạnh tranh và mở rộng thị trường của mình.Ngày nay, các công ty viễn thông không ngừng nâng cao, cải tiến các dịch vụ củamình và tìm kiếm dich vụ mới để đáp ứng nhu cầu ngày càng lớn của khách hàng Đòi

Trang 8

vững trong môi trường viễn thông hiện nay tại Việt Nam Khai phá dữ liệu 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.

Vấn đề đặt ra: Bài toán đặt ra cho các nhà mạng di động là thu thập được các tri

thức từ các kho dữ liệu khách hàng khổng lồ Phân loại dữ liệu cước di động là mộtphương pháp giúp cho các nhà mạng di động có thể phân loại được các nhóm đốitượng khách hàng khác nhau, từ đó đưa ra các chiến lược kinh doanh phù hợp vớitừng đối tượng khách hàng

Đề tài được nghiên cứu ứng dụng phương pháp luật kết hợp, một trong nhữngnhững kỹ thuật rất quan trọng của khai phá dữ liệu Nội dung chính của luận văn đượcchia thành năm chương như sau:

Chương 1: Tổng quan về khai phá dữ liệu

Chương 2: Giới thiệu khai phá mẫu phổ biến, luật kết hợp

Chương 3: Lưu trữ dữ liệu lớn dựa trên Oracle DBMS

Chương 4: Áp dụng Luật kết hợp vào Cơ Sở Dữ Liệu Oracle

Chương 5: Ứng dụng vào phân tích dữ liệu viễn thông tại Beeline

Nội dung luận văn phân tích một cơ sở dữ liệu, trình bày về cách cài đặtchương trình khai thác luật kết hợp trong việc sử dụng các dịch vụ giá trị gia tăng củakhách hàng Dựa vào kết quả này mà người quản lý của các doanh nghiệp viễn thôngnắm bắt được những nhóm dịch vụ nào có liên quan tới nhau, phục vụ cho mục đíchquản lý và lựa chọn các dịch vụ và thời điểm phát hành các loại dịch vụ cho các nhómkhách hàng khác nhau

Trang 9

Chương 1 Mở đầu

1.1 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 ẩntrong các tập dữ liệu lớn (các kho dữ liệu) Về bản chất, khai phá dữ liệu liên quan đếnviệ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ínhchính quy trong tập dữ liệu

Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm Phát hiệntri thức trong cơ sở dữ liệu, để chỉ toàn bộ quá trình phát hiện các tri thức có ích từ cáctập dữ liệu lớn Trong đó khai phá dữ liệu là một bước đặc biệt trong toàn bộ quátrình, sử dụng các giải thuật đặc biệt để chiết xuất ra các mẫu hay các mô hình từ dữliệu

Ở một mức độ trừu tượng nhất định có thể định nghĩa: Khai phá dữ liệu (DataMining) 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 trongCSDL lớn

Khai phá tri thức (KDD) là mục tiêu chính của khai phá dữ liệu, do vậy hai khái

niệm đó được xem như hai lĩnh vực tương đương nhau Nhưng, nếu phân chia mộtcách tách bạch thì khai phá dữ liệu là một bước chính trong quá trình KDD

1.2 Quá trình khai phá tri thức trong cơ sở dữ liệu

Khai phá tri thức trong CSDL ( Knowledge Discovery in Databases - KDD) làlĩnh vực liên quan đến các ngành như: thống kê, học máy, CSDL, thuật toán, trựcquan hóa dữ liệu, tính toán song song và hiệu năng cao,…

Quá trình KDD có thể phân thành các giai đoạn sau [3][5]:

Trang 10

Hình 1.1: Khai phá dữ liệu là một bước trong quá trình khai phá tri thức

1 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

2 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ấymẫu,.v.v.), rời rạc hóa dữ liệu (rời rạc hóa dựa vào histograms, dựa vào entropy, dựa vàophâ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à đượcrời rạc hóa

3 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

4 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 đượcnhữ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ướcquan trọng và tốn nhiều thời gian nhất của toàn quá trình KDD

Trang 11

5 Đá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ốiliên hệ trong dữ liệu đã được khám phá ở bước trên được chuyể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ướcnày cũng đánh giá những tri thức khám phá được theo những tiêu chí nhất định

1.3 Các kỹ thuật tiếp cận trong 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 [3][5]:

1 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ác thông tin về nhãn lớp đãbiết

2 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ếttrước các thông tin về lớp hay tập các ví dụ huấn luyện

3 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ấn luyện và một số các thôngtin về một số nhãn lớp đã biết trước

Nếu căn cứ vào lớp các bài toán cần giải quyết, thì Data Mining bao gồm các kỹ thuật sau [3][5]:

1 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ại dị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ớpgiờ cao điểm, thấp điểm dựa trên giờ bắt đầu đàm thoạ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ó

Trang 12

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)…

2 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áchhàng đó gọi nội tỉnh” Luật kết hợp có khả năng ứng dụng trong rất nhiều lĩnhvực

3 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ột luậ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ủa biế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

4 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 trongcùng một cụm là lớn nhất và mức độ tương tự giữa các đối tượng nằm trong cáccụ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)

1.4 Kiến trúc của hệ thống khai phá dữ liệu

Như đã trình bày ở trên, khai phá dữ liệu là một giai đoạn trong quá trình pháthiệ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ặccác nơi lư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ó

Trang 13

Hình 1.2: Kiến trúc của hệ thống khai phá dữ liệuKiến trúc của hệ thống khai phá dữ liệu (Hình 1.2) có các thành phần như sau:

 Cơ sở dữ liệu, kho dữ liệu nguồn: Đó là một hoặc nhóm các cơ sở dữ liệu, kho

dữ liệu … Các kỹ thuật làm sạch dữ liệu, tích hợp, lọc dữ liệu có thể thực hiện trên dữliệu

 Cơ sở dữ liệu hoặc kho dữ liệu phục vụ: Là kết quả lấy dữ liệu có liên quan trên cơ sở khai phá dữ liệu của người dùng để phục vụ mục tiêu cụ thể

 Cơ sở tri thức: Đó là lĩnh vực tri thức được sử dụng để hướng dẫn việc tìm hoặc đánh giá các mẫu kết quả thu được

 Mô tả khai phá dữ liệu: Bao gồm tập các module chức năng để thực hiện các nhiệm vụ mô tả đặc điển, kết hợp, phân lớp, phân cụm dữ liệu…

 Đánh giá mẫu: Thành phần này sử dụng các độ đo và tương tác với modul khai phá dữ liệu để tập trung vào tìm các mẫu quan tâm

 Giao diện người dùng: Đây là module giữa người dùng và hệ thống khai phá dữliệu Cho phép người dùng tương tác với hệ thống trên cơ sở những truy vấn hay tác vụ,

Trang 14

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ên cứ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ình như:

 Phân tích dữ liệu và hỗ trợ ra quyết định(data analysis and dicision support):

o 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

o 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ảo lãnh, kiểm soát chất lượng, phân tích cạnh tranh

o 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áogiá của các loại cổ phiếu trong thị trường chứng khoán, danh mục vốn và giá, lãi suất, dữliệu thẻ tín dụng, phát hiện gian lận…

 Điều trị và chăm sóc y tế: Một số thông tin về chuẩn đoán lưu bệnh trong các

hệ thống quản lý bệnh viện Phân tích mối liên hệ giữa triệu chứ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óm tắt văn bản…

 Lĩnh vực khoa học: Quan sát thiên văn, dữ liệu gene, dữ liệu sinh vật học, tìmkiế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 ditruyề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ám sá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ụ…

1.6 Hướng tiếp cận của luận văn.

Viễn thông là ngành đã có những bước phát triển ngoạn mục trong những năm gần đây Số lượng các thuê bao và các dịch vụ viễn thông kèm theo đang gia tăng một

17

Trang 15

cách chóng mặt Các công nghệ mới cũng phát triển hết sức mạnh mẽ Đây lại làngành có tỉ lệ tin học hóa cao, hầu hết các giao dịch, thao tác, hoạt động đều được lưulại trong CSDL Từ đó, lượng dữ liệu thu thập và lưu trữ được về các hoạt động sảnxuất kinh doanh cũng trở nên ngày càng khổng lồ Tiềm ẩn bên trong lượng dữ liệunày là những tri thức hết sức quí báu về thị trường, khách hàng, sản phẩm…

1.6.1 Ứng dụng quản lý và chăm sóc khách hàng

Các công ty viễn thông quản lý một khối lượng lớn dữ liệu về thông tin kháchhàng và dữ liệu về chi tiết cuộc gọi (call detail records) Những thông tin này có thểcho ta nhận diện được những đặc tính của khách hàng và thông qua đó có thể đưa racác chính sách chăm sóc khách hàng thích hợp dựa trên dự đoán hoặc có một chiếnlược tiếp thị hiệu quả Các ứng dụng khai phá dữ liệu phổ biến trong lĩnh vực viễnthông [13][14] :

 Ứng dụng khai phá dữ liệu dựa trên việc xem xét luật kết hợp giữa các dịch vụviễn thông khách hàng sử dụng Hiện nay trên một đường điện thoại khách hàng sử dụngrất nhiều dịch vụ khác nhau, ví dụ như : gọi điện thoại, truy cập internet, tra cứu thôngtin từ hộp thư tự động, nhắn tin, gọi 108, v.v Dựa trên cơ sở dữ liệu khách hàng chúng

ta có thể khám phá mối liên kết trong việc sử dụng các dịch vụ, có thể đưa ra các luậtnhư (khách hàng gọi điện thoai quốc tế) => (truy cập internet) v.v Trên cơ sở phân tíchđược các luật như vậy các công ty viễn thông có thể điều chỉnh việc bố trí nơi đăng kýcác dịch vụ phù hợp, ví dụ điểm đăng ký điện thoại quốc tế nên bố trí gần với điểm đăng

ký Internet chẳng hạn

 Một ứng dụng phục vụ chiến lược kinh doanh khác đó là dựa trên kỹ thuật luật kếthợp của KPDL để tìm ra tập các thành phố, tỉnh nào trong nước thường gọi điện thoạivới nhau Ví dụ ta có thể tìm ra tập phổ biến (Cần Thơ, HCM, Hà Nội) chẳng hạn Điềunày thật sự hữu dụng trong việc hoạch định chiến lược tiếp thị hoặc xây dựng các vùngcước phù hợp

 Một vấn đề khá phổ biến ở các công ty viễn thông hiện là sự thay đổi nhà cung

Trang 16

vấn đề khá nghiêm trọng ảnh hưởng đến tốc độ phát triển thuê bao, cũng nhưdoanh thu của các nhà cung cấp dịch vụ Thời gian gần đây các nhà cung cấp dịch

vụ di động luôn có chính sách khuyến mãi lớn để lôi kéo khách hàng Điều đó dẫnđến một lượng không nhỏ khách hàng thường xuyên thay đổi nhà cung cấp đểhưởng những chính sách khuyến mãi đó Kỹ thuật KPDL hiện nay có thể dựa trên

dữ liệu tiền sử để tìm ra các quy luật, từ đó có thể tiên đoán trước được khách hàngnào có ý định rời khỏi mạng trước khi họ thực hiện Dựa trên các kỹ thuật KPDLnhư cây quyết định (decision tree), mạng nơ ron nhân tạo (neural nerwork) trên dữliệu cước (billing data), dữ liệu chi tiết cuộc gọi (call detail data), dữ liệu kháchhàng (customer data) tìm ra các quy luật mà dựa trên đó ta có thể tiên đoán trước ýđịnh rời khỏi mạng của khách hàng, từ đó công ty viễn thông sẽ có các ứng xử phùhợp nhằm lôi kéo khách hàng

 Cuối cùng, một ứng dụng cũng rất phổ biến đó là phân lớp khách hàng(classifying) Dựa vào kỹ thuật KPDL học trên cây quyết định (decision tree) trên dữliệu khách hàng và chi tiết cuộc gọi có thể tìm ra các luật để phân loại khách hàng Ví dụ

ta có thể phân biệt được khách hàng nào thuộc đối tượng kinh doanh hay cá nhân dựavào các luật sau :

o Luật 1 : nếu không quá 43% cuộc gọi có thời gian từ 0 đến 10 giây và không đến 13% cuộc gọi vào cuối tuần thì đó là khách hàng kinh doanh

o Luật 2 : Nếu trong 2 tháng có các cuộc gọi đến hầu hết từ 3 mã vùng giống nhau và <56,6% cuộc gọi từ 0-10 giây thì có là khách hàng nhà riêng

Trên cơ sở tìm ra được các luật tương tự vậy, ta dể dàng phân loại khách hàng, để

từ đó có chính sách phân khúc thị trường hợp lý

1.6.2 Hướng nghiên cứu của đề tài.

Đề tài phân tích dữ liệu viễn thông nhằm nhận diện được những đặc tính củakhách hàng và thông qua đó có thể đưa ra các chính sách chăm sóc khách hàng thíchhợp dựa trên dự đoán hoặc có một chiến lược tiếp thị hiệu quả

Trang 17

Dựa vào kết quả này mà người quản lý của các doanh nghiệp viễn thông nắm bắtđược những nhóm dịch vụ nào có liên quan tới nhau, phục vụ cho mục đích quản lý vàlựa chọn các dịch vụ giá trị gia tăng và thời điểm phát hành các loại dịch vụ giá trị giatăng cho các nhóm khách hàng khác nhau Xây dựng chiến lược phát triển hệ thống vàtìm những khách hàng tiềm năng cho các gói sản phẩm khác nhau.

Các luật kết hợp nói chung có độ hỗ trợ không cao (điều đó là tự nhiên) nhưng độtin cậy rất cao Điều đó ngầm định rằng các quan hệ về các nhóm dịch vụ được tìmthấy thông qua luật kết hợp là rất đáng tin cậy

Trang 18

Chương 2 Giới thiệu khai phá mẫu phổ biến, luật kết hợp

2.1 Khái niệm về khai phá mẫu phổ biến

2.1.1 Mẫu phổ biến

Mẫu phổ biến (Frequent pattern): là mẫu (tập mục - itemsets, dãy mục – itemlists,

dãy con – subsequence, hoặc cấu trúc con – substructures…) mà xuất hiện phổ biếntrong một tập dữ liệu

Agrawal, Imielinski, Swami – 1993 – trong ngữ cảnh bài toán tập phổ biến và luật kếthợp

Ví dụ:

 Một số mặt hàng như sữa (milk) và bánh mỳ (bread), thường xuyên xuất hiện cùng nhau trong các tập dữ liệu giao dịch được coi là tập mục phổ biến

 Đầu tiên khách hàng mua một máy tính PC, rồi mua một máy quay kỹ thuật số,

và sau đó là mua một thẻ nhớ Nếu dữ liệu xảy ra một cách phổ biến trong cơ sở dữ liệulịch sử bán hàng thì được gọi là mẫu dãy phổ biến (frequent sequential pattern)

 Các mẫu cấu trúc khác như đồ thị con (subgraphs), cây con (subtrees), hoặcmắt xích con (sublattices), chúng ta có thể kết hợp với các tập mục hoặc dãy con Nếumột cấu trúc con xảy ra thường xuyên, nó được gọi là một mẫu cấu trúc phổ biến (afrequent structured pattern)

2.1.2 Ý nghĩa của khai phá mẫu phổ biến

Tìm kiếm mẫu phổ biến đóng vai trò thiết yếu trong khai phá luật kết hợp, tìmkiếm mối tương quan, và các mối quan hệ trong cơ sở dữ liệu Hơn nữa nó giúp phânlớp, phân cụm dữ liệu, và hỗ trợ các nhiệm vụ khai phá dữ liệu khá tốt Do vậy, khaiphá mẫu phổ biến đã trở thành nhiệm vụ quan trọng trong khai phá dữ liệu

21

Trang 19

Chủ đề về khai phá mẫu phổ biến rất phong phú và rộng lớn Các lĩnh vực nghiên cứu chú trọng đến mốt số vấn đề như sau:

 Làm thế nào để tìm thấy các tập mục phổ biến trong một cơ sở dữ liệulớn, trong đó dữ liệu có thể là các dữ liệu giao dịch hoặc dữ liệu quan hệ?

 Làm thế nào để có thể khai phá được các luật kết hợp trong không gian đamức và đa chiều?

 Những luật kết hợp nào là phù hợp nhất?

 Làm thế nào để có thể chỉ ra các thuật toán, phương pháp KPDL hiệu quả

để phát hiện những luật kết hợp phù hợp nhất hoặc các mối tương quan giữa các mục dữliệu?

Đây cũng chính là cơ sở để tạo điều kiện thuận lợi cho việc mở rộng các hìnhthức khai phá mẫu phổ biến sau này

2.1.3 Bài toán thực tế

Chúng ta hãy bắt đầu phân tích một ví dụ khá đặc trưng về khai phá mẫu phổbiến, đó là phân tích giỏ hàng thương mại trong CSDL giao dịch về lịch sử bán hàngtại siêu thị Việc phát hiện ra mối tương quan trong một số lượng lớn các bản ghi vềgiao dịch thương mại được thu thập và lưu trữ hàng ngày giúp hỗ trợ tiến trình đưa raquyết định của nhiều doanh nghiệp, như trong thiết kế mẫu hàng hóa, tiếp thị chéo vàphân tích thói quen mua sắm của khách hàng Khám phá những mối quan hệ như vậy

có thể giúp những người bán lẻ phát triển các chiến lược tiếp thị bằng cách tiếp cậnmột cách thấu đáo các danh mục mặt hàng được khách hàng mua thường xuyên

Và làm thế nào để biết được một khách hàng đang mua sữa, họ có khả năng sẽmua bánh mỳ trong cùng một lần đến siêu thị? Thông tin này có thể làm tăng doanhthu của cửa hàng bán lẻ bằng cách giúp những nhà bán lẻ tiếp thị các mặt hàng mộtcách chọn lọc và lên kế hoạch trưng bầy sản phẩm ở những vị trí thích hợp

Trang 20

Giả sử bạn là giám đốc một siêu thị, bạn sẽ muốn tìm hiểu về thói quen muasắm của khách hàng của bạn Bạn tự hỏi: “Đâu là những mặt hàng, những nhóm mặthàng mà các khách hàng thương xuyên mua cùng nhau trong một chuyến đi đến siêuthị?” Để trả lời câu hỏi, việc phân tích giỏ hàng được thực hiện trên dữ liệu bán lẻ củanhưng giao dịch khách hàng tại quầy hàng của bạn Bạn có thể sử dụng kết quả này đểxây dựng kế hoạch, chiến lược cho tiếp thị hoặc quảng cáo hoặc thiết kế một catalogmới Trường hợp khác, việc phân tích giỏ hàng gúp bạn bài trí hàng hóa cho quầyhàng Trong chiến lược tiếp thị bán hàng, các mặt hàng thương xuyên mua cùng nhauthì đặt gần vị trí với nhau, để khuyến khích việc mua các mặt hàng trong cùng mộtnhóm hàng Nếu khách hàng mua một chiếc máy giặt thì tại thời điểm đó họ cũngquan tâm đến xà phòng giặt máy, do đó việc đặt mặt hàng bột giặt gần mặt hàng máygiặt, sẽ làm tăng doanh số bán hàng của cả hai mục hàng này.

Như vậy, có thể kết luận rằng, khai phá mẫu phổ biến là quá trình tìm kiếm

mối quan hệ tuần hoàn, lặp đi lặp lại trong một cơ sở dữ liệu.

Từ ví dụ trên, thông tin khách hàng mua máy giặt thì cũng có xu hướng mua xàphòng giặt máy tại cùng một thời điểm được mô tả trong luật kết hợp dưới đây:

Máy giặt => Xà phòng giặt [độ hỗ trợ = 2%, độ tin cậy = 60%]

Độ hỗ trợ (support) và độ tin cậy (confidence) là hai độ đo hấp dẫn của luật.Chúng lần lượt phản ánh sự hữu ích và độ chắc chắn của luật khai phá Độ hỗ trợ bằng2% có nghĩa là theo phân tích cho thấy: 2% trong nhưng giao dịch, máy giặt và xàphòng được mua cùng nhau Độ tin cậy bằng 60% có nghĩa là trong các giao dịch, nếukhách hàng mua máy giặt thì cũng mua xà phòng giặt máy Thông thường những luật

kết hợp được xét đến nếu chúng thỏa mãn cả ngưỡng hỗ trợ tối thiểu (minimum

support threshold) và ngưỡng tin cậy tối thiểu (minimum confidence threshold).

Trang 21

2.2 Tổng quan về luật kết hợp

2.2.1 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ết hợp là luậtchỉ ra mối quan hệ của hai hay nhiều đối tượng (đối tượng chúng ta đang xét ở đây làcác mặt hàng)

Cấu trúc của luật như sau: X=>Y (sup, conf) Có nghĩa là luật có X thì kéo theo Y với

độ hỗ trợ sup và độ tin cậy conf

 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ộtgiao 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 

Trang 22

 Luật kết hợp X  Y có độ hỗ trợ (support) s trong CSDL giao dịch D nếu trong

D có s% các giao dịch T chứa XY: chính là xác suất P(XY)

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

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ật thỏ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ị trong khoả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

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ợp phả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ối thiểu do

người dùng xác định Các tập mục thoả mãn độ hỗ trợ tối thiểu được gọ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 mong muố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:

25

Trang 23

conf  Sup ( XYZW )

Sup ( XY )

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= {A,B,C,D,E,F} gồm 6 mục Xét cơ sở giao

có định danh TID ở bảng dưới đây (Giả sử min_sup = 50%,

dịch D với các giao dịch min_conf = 50%)

1 đến 04, ta tìm được các tập mục phổ biến có độ hỗ trợ thỏa mãn min_sup (các tập

mục có độ hỗ trợ < min_sup được loại bỏ) như sau:

Tập các mục Tần suất xuất hiện Độ hỗ trợ (Support)

Hình 2.2: Tần xuất xuất hiện và độ hỗ trợ của các tập mục phổ biến

Luật A  C, 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:

Support(A  C) = P(AC) = support({A}{C}) = 2

4 = 50%

Trang 24

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:

Support(C  A) = P(CA) = support({C}{A}) = 2

2.2.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ện luậ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ìm F3

(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ũng

phải phổ biến Ví dụ, nếu {bia, bỉm, hạnh nhân} là phổ biến thì {bia, bỉm} cũng vậy,

mọi giao dịch chứa {bia, bỉm, hạnh nhân} cũng chứa {bia, 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)

- 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ập

mục được sắp xếp theo thứ tự từ điển Đối với (k-1)-tập mục, l i , có nghĩa là các mục được

sắp xếp theo thứ tự l i [1] < l i [2] < < l i [k-1] Kết nối L k-1 với L k-1 được thực hiện như sau: các

thành phần của L k-1 được kết hợp nếu (k-2) mục đầu tiên giống nhau Ở đó, thành phần l 1 và

l 2 của L k-1 được kết hợp nếu (l 1 [1] = l 2 [1] ∧ l 1 [2] = l 2 [2] ∧ … ∧ l 1 [k-2] = l 2 [k-2] ∧ l 1 [k-1] <

l2[k-1]).

27

Trang 25

Điều kiện l1[k-1]<l2[k-1] chỉ đơn giản là đảm bảo rằng không có trùng lặ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ấthiệ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 con nà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.2.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 = {t|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:

(2) F 1 = {tất cả các tập mục phổ biến có độ dài bằng 1};

(3) For (k=2; F k-1 , k++){

(4) C k = Apriori-gen (F k-1 ); //Sinh mọi ứng viên có độ dài k.

(5) For ( mỗi giao dịch t  D) { // quét CSDL D để đếm

(6) C t = ( c  C k | c  t); //tất cả các ứng viên c thuộc C k với c là tập con của giao dịch t.

(8) } // kết thúc lặp các giao dịch t  D

Trang 26

đã đượ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ủamỗi giao dịch được tính (bước 6 và 7) Cuối cùng, tất cả các ứng viên

đáp ứng độ hỗ trợ tối thiểu (bước 9) cấu thành lên tập mục phổ biến k Fk (bước 11).Thủ tục được gọi sau đó để sinh luật kết hợp từ tập mục phổ 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ànhphần tỉa (bước 5 đến bước 7) dựa vào tính chất Apriori để 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 conkhông phổ biến

Procedure Apriori_gen (F k-1 : tập mục phổ biến có độ dài k-1)

(9) Return C k ;

29

Trang 27

Procedure has_infrequent_subset (c: ứng viên, F k-1 : tập các tập phổ biến có độ dài (k-1));

(1) For (mỗi (k-1) – tập con s của c)

2.2.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ịch vớ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%

Giả sử độ hỗ trợ cực tiểu là Minsup = 2/9*100% = 22% Khi đó tập mụ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 C1thoả mãn độ hỗ trợ tối thiểu Trong ví dụ này tất cả các ứng viên trong C1 đều thỏa

Trang 28

Hình 2.4: 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 F1 vớ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ác phần tử

có trong F1 do đó số lượng các phần tử của C2 được tính như sau:

|C2| = C = C 52 = 25!3!! = 10

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 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.5: Duyệt CSDL tìm các tập mục phổ biến 2-Itemset (F2)

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 = {{I1, I2, I3}, {I1, I2, I5}, {I1, I3, I5}, {I2, I3, I4}, {I2, I3, I5}, {I2, I4, I5}}

2

|F1|

Trang 29

31

Trang 30

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ủa tậ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ập phổ 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.

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 chỉ cần kiểm tratập con (k-1)-Itemset có là phổ biến hay không? Vì thuật toán Apriori sử dụng chiếnlượ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à:

Trang 31

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

Loại tập mục phổ biến Các tập mục phổ biến

1-Itemset {I1} {I2} {I3} {I4} {I5}2-Itemset {I1, I2} {I1, I3} {I1, I5} {I2, I3} {I2, I4} {I2, I5}3-Itemset {I1, I2, I3} {I1, I2, I5}

Hình 2.7: Kết quả thực hiện thuật toán Aprori cho CSDL DChú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%

Trang 32

2.2.5 Một số kỹ thuật cải tiến thuật toán Apriori

Apriori là một thuật toán khá hiệu quả trong việc tìm kiếm tập mục phổ biến, tuy nhiên thuật toán này còn tồn đọng một số vấn đề như:

 Phải duyệt CSDL nhiều lần, do mỗi lần sinh tập mục ứng viên phải duyệt CSDL một lần

 Chưa tối ưu hóa được tập các ứng viên, vì thế số lượng các ứng viên trong tập mục là khá lớn

Hai vấn đề này làm tăng chi phí khi thực hiện thuật toán Có nhiều cải tiến củathuật toán Apriori được đề xuất để nâng cao hiệu quả của thuật toán ban đầu Một sốcải tiến đó được tóm lược như sau[9]:

(1) Kỹ thuật dựa trên bảng băm (hash-based technique): Thực hiện băm các

tập mục thành các nhóm tương ứng Kĩ thuật hàm băm có thể được dùng để

giảm kích thước của k-tập mục ứng viên, C k , với k > 1.

Ví dụ, khi quét mỗi giao dịch trong CSDL để sinh tập mục phổ biến

1-itemset F1 từ tập các ứng viên C1, chúng ta có thể sinh tất cả các tập mục phổbiến F2 với mỗi giao dịch, băm chúng vào các nhóm khác nhau trong cấu trúc

bảng băm, và tăng số đếm các nhóm tương ứng Một tập mục có độ dài

2-itemsets tương ứng với nhóm có số đếm 2 trong bảng băm dưới mức ngưỡng

độ hỗ trợ tối thiểu thì không thể là phổ biến và vì vậy có thể loại bỏ khỏi tập

ứng viên Kỹ thuật dựa trên bảng băm có thể giảm số lượng ứng viên tập item được (đặc biệt khi k = 2).

k-Hình 2.8: Bảng băm H2, với tập mục ứng viên 2-item

Trang 33

Bảng băm này được sinh bằng cách duyệt các giao dịch trong CSDL khi xácđịnh tập F1 từ C1 Nếu độ hỗ trợ tối thiểu bằng 3, thì các tập mục trong cácnhóm 0, 1, 3, và 4 không thể là phổ biến và do vậy chúng không thể có trong

C2

(2) Giảm số lần quét giao dịch (transaction reduction): Giảm số lượng giao

dịch phải duyệt ở lần lặp tiếp theo Một giao dịch không chứa tập mục phổ biến k-item nào thì cũng không thể chứa tập phổ biến k+1-item Do đó, một giao dịch thật sự có thể được đánh dấu hoặc loại bỏ trong lần duyệt CSDL tiếp theo với các tập mục j-item, với j

> k, sẽ không cần đến nó nữa.

(3) Phân hoạch (partitioning): Phân chia dữ liệu để tìm tập mục ứng viên

k-item Kỹ thuật phân hoạch chỉ duyệt CSDL hai lần để khai phá tập mục phổ biến Kỹthuật này bao gồm hai giai đoạn

Trong giai đoạn I, thuật toán chia nhỏ tập giao dịch của D thành n phân vùng không giao nhau Nếu ngưỡng độ hỗ trợ tối thiểu cảu các giao dịch trong D là

min_sup, thì độ hỗ trợ đối với một phân vùng là min_sup  số giao dịch trong phân vùng đó Với mỗi phân vùng, tất cả các tập mục phổ biến bên

trong phân vùng đó được tìm thấy, gọi là tập mục phổ biến địa phương Thủ

tục sử dụng cấu trúc dữ liệu đặc biệt đó là, đối với mỗi tập mục, lưu trữ cácđịnh danh TID của các giao dịch chứa các mục trong tập mục Điều này cho

phép tìm kiếm tất các tập phổ biến cục bộ k-item, với k = 1, 2, …, chỉ trong

một lần duyệt CSDL

Trang 34

Hình 2.9: Khai thác bằng cách phân hoạch dữ liệu.

Một tập mục phổ biến địa phương có thể hoặc không phổ biến đối với toàn bộCSDL D Bất kỳ tập mục phổ biến đối với CSDL D phải là một tập mục phổbiến trong ít nhất một trong những phân vùng Do đó, tất cả các tập mục phổbiến địa phương là tập mục ứng cử viên đối với D Việc thu thập các tập mụcphổ biến từ tất cả phân vùng chuyển thành tập mục ứng viên toàn cục đối vớiD

Trong giai đoạn II, lần duyệt CSDL D thứ hai được tiến hành với độ hỗ trợthực tế của mỗi ứng viên được đánh giá theo thứ tự để xác định tập mục phổbiến toàn cục Kích thước phân vùng và số phân vùng được thiết lập sao chomỗi phân vùng có thể vừa vặn với bộ nhớ chính và do đó được đọc một lầnduy nhất ở mỗi phần

(4) Lấy mẫu (sampling): Khai phá trên một tập con của dữ liệu cho trước Ý

tưởng cơ bản của cách tiếp cận này là chọn ngẫu nhiên một mẫu S của CSDL D, và rồitìm các tập mục phổ biến trong S thay vì D Kích thước mẫu của S phải đảm bảo để tìmkiếm tập mục phổ biến trong S có thể thực hiện trong bộ nhớ chính và cũng chỉ cần mộtlần duyệt toàn bộ các giao dịch trong S Bởi vì chúng ta tìm kiếm các tập mục phổ biếntrong S thay vì trong D, nên có khả năng chúng ta sẽ bỏ lỡ một số tập mục phổ biến toàncục Để làm giảm bớt việc bỏ lỡ các tập mục phổ biến chúng ta sử dụng ngưỡng độ hỗtrợ thấp hơn độ hỗ trợ tối thiểu để tìm các tập mục phổ biến địa phương cho S (kí hiệu

Ls) Phần còn lại của CSDL sau đó được dùng để tính toán tần suất thực tế của

mỗi tập mục trong Ls Một kỹ thuật dùng để xác định có tất cả các tập mụcphổ biến toàn cục có trong Ls không Nếu Ls thật sự chứa tất cả các tập mụcphổ biến trong D, thì chỉ cần một lần duyệt D Nếu không, lần thứ hai có thểthực hiện để tìm các tập mục phổ biến mà bỏ lỡ trong lần duyệt thứ nhất

(5) Đếm tập mục động (dynamic itemset counting): Thêm tập mục ứng viên

tại các thời điểm khác nhau trong quá trình duyệt CSDL Một kỹ thuật đếm tập mụcđộng được đề xuất trong CSDL là được phân vùng thành các khối

36

Trang 35

được đánh dấu bởi các điểm bắt đầu Trong cải tiến này, tập mục ứng viênmới có thể được thêm vào tại một vài thời điểm bắt đầu, không giống nhưApriori, xác định các tập ứng viên mới chỉ ngay lúc trước mỗi lần quét toàn

bộ CSDL Kỹ thuật sẽ đánh giá độ hỗ trợ của toàn bộ tập mục đã được đếmcho tới lúc này, thêm ứng viên mới các tập item phổ biến nếu tất cả các tậpcon của chúng được đánh giá là phổ biến Thuật toán thu được đòi hỏi số lầnquét cơ sở dữ liệu ít hơn Apriori

Trang 36

Chương 3 Lưu trữ dữ liệu lớn dựa trên Oracle DBMS

Hầu hết các nghiên cứu về khai phá dữ liệu đã đề xuất thuật toán và tối ưu hóa làmviệc trên hệ thống tập tin truyền thống, chứ không phải là một hệ quản trị CSDL, chủyếu do những lý do sau đây:

- Dễ dàng hơn để phát triển các thuật toán hiệu quả trong một ngôn ngữ lập trìnhtruyền thống

- Việc tích hợp các thuật toán KPDL vào một hệ quản trị CSDL sẽ mang lại khó khăn trên nền tảng mô hình quan hệ và kiến trúc hệ thống

- Hơn nữa, SQL có thể làm chậm và rườm rà cho các tính toán phân tích số

Do đó, người sử dụng các ứng dụng khai phá dữ liệu thường biến đổi các bộ dữliệu bên trong hệ quản trị CSDL ra tập tin truyền thống sau đó mới đưa vào công cụKPDL, để tránh hiệu suất giảm và loại bỏ khả năng quản lý dữ liệu quan trọng như xử

lý truy vấn và an ninh dữ liệu, đồng thời kiểm soát và khả năng chịu lỗi

Dựa trên ngôn ngữ truy vấn SQL và các hàm định nghĩa trực tiếp bởi người dùngUser-Defined Functions (UDFs) có thể phân tích các bảng dữ liệu quan hệ để tínhtoán các mô hình thống kê và được lưu trữ như các bảng quan hệ Hầu hết các thuậttoán đã được tối ưu hóa để giảm bớt số lần duyệt các tập dữ liệu Hệ thống có thểphân tích lượng lớn các tập dữ liệu nhanh hơn so với các công cụ khai phá dữ liệu sửdụng tập tin tryền thống

Hướng nghiên cứu của đề tài nghiên cứu các vấn đề thực hiện khai phá dữ liệu bêntrong một hệ quản trị CSDL quan hệ, chú ý đến các bộ dữ liệu lớn Hệ quản trị CSDLngày càng phát triển và chiếm ưu thế hiện nay như Oracle

3.1 Giới thiệu hệ quản trị CSDL Oracle

Các công ty viễn thông quản lý một khối lượng lớn dữ liệu về thông tin kháchhàng và dữ liệu về chi tiết cuộc gọi (call detail records) Và CSDL Oracle là một lựachọn tối ưu để lưu trữ lượng dữ liệu lớn đó trong các doanh nghiệp viễn thông

Trang 37

Oracle bao gồm một tập hợp hoàn thiện các sản phẩm xây dựng ứng dụng vàngười dùng cuối được trang bị các giải pháp kỹ thuật thông tin hoàn hảo Các ứngdụng Oracle tương thích với hầu hết các hệ điều hành từ các máy tính cá nhân đến các

hệ thống xử lý song song lớn

Oracle cung cấp một hệ quản trị cơ sở dữ liệu (Database Management System DBMS) uyển chuyển: Oracle Server để lưu giữ và quản lý các thông tin dùng trongcác ứng dụng Một số sản phẩm và công cụ tích hợp trong hệ quản trị cơ sở dữ liệuOracle:

-1 SQL: Là ngôn ngữ dùng để truy xuất cơ sở dữ liệu quan hệ, kể cả Oracle Có thể được dùng với mỗi công cụ Oracle khi có yêu cầu truy xuất dữ liệu

2 PL/SQL: Là ngôn ngữ thủ tục Oracle để viết các ứng dụng xử lý và thao tác dữliệu bên ngoài CSDL Có thể bao gồm một tập con các lệnh SQL khi có yêu cầu truyxuất dữ liệu Sẵn có trong Oracle Server

3 Thủ tục lưu trữ (Stored procedures): Là các hàm hay các thủ tục, đây là một tậphợp các câu lệnh SQL và PL/SQL Sau khi Stored procedures được biên dịch, nó sẽđược gán tên và có thể thực hiện trực tiếp mà không cần phải biên dịch lại thêm bất cứmột lần nào nữa Các functions và procedures cho phép sử dụng tham số dưới dạng tham

số vào (IN) và tham số ra (OUT) hoặc cũng có thể sử dụng tham số vừa vào vừa ra (INOUT) Theo mặc định, các tham số được xác định ở chế độ vào IN Một số ưu điểm của

Trang 38

4 Packages chuẩn: Một packages thông thường gồm hai phần: specification (phầnđặc tả hay còn gọi là phần khai báo) và body (phần thân) Chúng được lưu riêng biệttrong cùng một database.

a Phần specification là phần giao tiếp với các ứng dụng Phần này chứa cáclời khai báo, các kiểu, biến, hằng, exceptions, cursors, và các khai báo hàm để sử dụng

b Phần body là phần cài đặt cụ thể (implementation) của các khai báo trong phần specification

Chức năng của packages cũng tương tự như Stored procedures Một khipackages được biên dịch, packages đó có thể được sử dụng bởi nhiều ứng dụng khácnhau Tuy nhiên, có một lợi ích lớn nhất khi sử dụng packages là ngay lần đầu tiên gọiđến packages, toàn bộ packages sẽ được nạp vào trong bộ nhớ

5 Index (chỉ mục): Index của Bảng được tạo ra nhằm tăng tốc độ truy xuất, tăng hiệuquả của tính duy nhất trên một hoặc một tập của cột

6 Table partitioning (Phân khu trong bảng dữ liệu): Kỹ thuật phân chia bảng thànhtừng khu (Table partitioning) nhằm quản lý hiệu quả cơ sở dữ liệu với dung lượng lớn vàcác bảng trong CSDL có số lượng truy cập lớn và đồng thời với các mục

40

Ngày đăng: 11/11/2020, 22:23

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w