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

Nghiên cứu khai phá luật kết hợp sử dụng SQL”

72 355 1

Đ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 72
Dung lượng 1,17 MB

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

Nội dung

Mục đích chính củaquá trình này là tìm các tri thức dưới dạng các luật được kết xuất ra từ dữ liệu để sửdụng trong dự báo, trợ giúp trong sản xuất kinh doanh và nghiên cứu khoa học….Khai

Trang 2

Ký hiệu Diễn giải Ý nghĩa

CSDL Cơ sở dữ liệu

KDD Knowledge Discovery in Database Khai phá tri thức trong cơ sở dữ liệu

minconf Minimum Confidence Độ tin cậy tối thiểu

Minsup Minimum Support Độ hỗ trợ tối thiểu

TDI Transaction Indentification Đinh danh giao tác

Trang 4

LỜI CAM ĐOAN

Luận văn thạc sỹ này do em nghiên cứu và thực hiện dưới sự hướng dẫn của

Thầy giáo TS Phan Anh Phong Với mục đích học tập, nghiên cứu để nâng cao

kiến thức và trình độ chuyên môn nên em đã làm luận văn này một cách nghiêm túc

và hoàn toàn trung thực

Để hoàn thành bản luận văn này, ngoài các tài liệu tham khảo đã liệt kê, emcam đoan không sao chép toàn văn các công trình hoặc thiết kế tốt nghiệp của ngườikhác

Hà nội, tháng 10 năm 2015

Học viên

Phan Văn Nhật

Trang 5

Cho phép em được gửi lời cảm ơn sâu sắc nhất tới TS Phan Anh Phong, người

thầy đã rất nhiệt tình truyền đạt, chỉ bảo giúp sức cho em trong quá trình làm luậnvăn tốt nghiệp Đó là những động lực, lời khuyên và kho báu tri thức để em có thểsẵn sàng tỉnh thức và vận dụng trong thời gian làm luận văn tốt nghiệp này

Với tất cả tấm lòng mình, em xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS Huỳnh Quyết Thắng đã tạo điều kiện thuận lợi và cho em những định hướng

nghiên cứu Em cũng xin gửi lời cảm ơn tới các thầy cô trong Bộ môn hệ thốngthông tin, Viện Công nghệ thông tin và Truyền thông trường Đại học Bách khoa

Trang 6

những người đã luôn ở bên khích lệ và động viên em rất nhiều.

Trong quá trình làm luận văn, vì một số lý do về thời gian và kiến thức hạn hẹpnên không tránh khỏi những sai sót trong đề tài Em rất mong nhận được sự góp ýhơn nữa của quý thầy giáo, cô giáo và các bạn

Em xin chân thành cảm ơn!

Hà Nội, tháng 10 năm 2015

Học viên

Phan Văn Nhật

Trang 7

MỞ ĐẦU

Có thể nói rằng, ngày nay công nghệ thông tin (CNTT) đã trở thành một phầnkhông thể thiếu trong cuộc sống của xã hội hiện đại CNTT đã và đang được ứngdụng sâu rộng ở nhiều lĩnh vực khác nhau trong hoạt động thường ngày của chúng

ta như Giáo dục, Y tế, Khoa học, Xây dựng, Kinh doanh,…

Việc sử dụng CNTT để lưu trữ dữ liệu và khai thác thông tin phục vụ các hoạtđộng tác nghiệp đã được phát triển từ những năm 60 của thế kỷ trước Tuy nhiên,chúng ta vẫn có thể bị thiếu thông tin hữu ích cho dù dữ liệu khổng lồ, nếu chúng takhông biết các kỹ thuật khai thác

Gần đây, nhiều nghiên cứu đã chỉ ra, việc nắm bắt tốt thông tin được coi là cơ sởquan trọng của mọi hoạt động sản xuất, kinh doanh Cá nhân hay tổ chức nào thuthập và hiểu được thông tin và hành động dựa trên các thông tin được kết xuất từcác thông tin đã có sẽ đạt được thành công trong mọi hoạt động Chính vì thế, việctạo ra thông tin, tổ chức lưu trữ và khai thác chúng ngày càng trở nên quan trọng.Bên cạnh đó các thiết bị thu thập dữ liệu tự động tương đối phát triển đã tạo ranhững kho dữ liệu khổng lồ Với sự phát triển mạnh mẽ của công nghệ điện tử tạo

ra các bộ nhớ có dung lượng lớn, bộ xử lý tốc độ cao cùng với các hệ thống mạngviễn thông, người ta đã xây dựng các hệ thống thông tin nhằm tự động hóa mọi hoạtđộng kinh doanh của mình Điều này đã tạo ra một nguồn dữ liệu tăng lên khôngngừng trong cuộc sống như: thương mại, quản lý và khoa học đã làm nảy sinh vàthúc đẩy sự phát triển của kỹ thuật thu thập, lưu trữ, phân tích và khai phá dữ liệu

mà đòi hỏi cách xử lý thông minh hơn, hiệu quả hơn Từ đó đặt ra cho các các nhàquản lý vấn đề, là làm thể nào để xử lý khối lượng thông tin cực lớn như vậy pháthiện ra các thông tin hữu ích để tác động lại quá trình sản xuất, kinh doanh củamình… đó là tri thức

Để làm được điều đó người ta đã sử dụng các kỹ thuật cho phép ta khai thácđược tri thức hữu ích từ CSDL lớn được gọi là các kĩ thuật khai phá dữ liệu (DataMining - DM) Nói một cách nôm na khai phá dữ liệu là quá trình trích xuất các

Trang 8

khai phá dữ liệu, người ta còn dùng một số thuật ngữ khác có ý nghĩa tương tự như:Khám phá tri thức từ CSDL, phân tích dữ liệu/mẫu, nạo vét dữ liệu…

Đã có rất nhiều giải pháp được đề xuất ứng dụng trong khai phá dữ liệu, tuynhiên trên thực tế cho thấy quá trình này vẫn còn gặp rất những khó khăn và tháchthức Khai phá các luật kết hợp là một tiếp cận khai phá dữ liệu nhằm phát hiện cácluật kết hợp giữa các thành phần dữ liệu trong cơ sở dữ liệu Mục đích chính củaquá trình này là tìm các tri thức dưới dạng các luật được kết xuất ra từ dữ liệu để sửdụng trong dự báo, trợ giúp trong sản xuất kinh doanh và nghiên cứu khoa học….Khai phá luật kết hợp được đề xuất lần đầu vào năm 1993 và phát triển mạnhtrong vài thập kỷ gần đây Những nghiên cứu về khai phá luật kết hợp tập trung xâydựng các thuật toán để khai phá luật kết hợp một cách hiệu quả hoặc cải tiến, pháttriển các thuật toán đã có hoặc phát triển các ứng dụng Một trong những thuật toánđược sử dụng nhiều khi khai phá luật kết hợp là thuật toán Apriori và các mở rộngcủa thuật toán này [4]

Như chúng ta đã biết SQL là ngôn ngữ của cơ sở dữ liệu, có khả năng rất mạnhkhi truy vấn dữ liệu, chính vì thế, gần đây có nhiều nghiên cứu khai phá luật kết hợpbằng cách xây dựng thuật toán Apriori sử dụng SQL Kỹ thuật này không chỉ khaithác được sức mạnh của SQL, một ngôn ngữ được tích hợp trong hầu hết các hệquản trị cơ sở dữ liệu, mà còn cho thấy tính hiệu quả về tốc độ xử lý và thực thi

Từ những lý do trên tôi đã chọn “Nghiên cứu khai phá luật kết hợp sử dụng SQL” làm đề tài cho luận văn Thạc sỹ của mình.

Mục tiêu của đề tài:

+ Nghiên cứu tổng quan về phát hiện tri thức, khai phá dữ liệu và ý nghĩa củachúng

+ Nghiên cứu tìm hiểu về khai phá luật kết hợp và các phương pháp tiếp cậnliên quan

Trang 9

+ Đặc biệt là đi sâu vào nghiên cứu phương pháp khai phá luật kết hợp sửdụng SQL

+ Xây dựng, triển khai mô hình thực nghiệm

Ngoài phần mở đầu, kết luận và tài liệu tham khảo, nội dung bản luận văn

“Nghiên cứu khai phá luật kết hợp sử dụng SQL” được tổ chức thành 4 chương Chương 1 Tổng quan về phát hiện tri thức và khai phá dữ liệu

Phát hiện tri thức và khai phá dữ liệu; quá trình khám phá tri thức từ CSDL; các

kĩ thuật, phương pháp khai phá dữ liệu, nhiệm vụ và một số ứng dụng của khai phá

dữ liệu

Chương 2 Khai phá luật kết hợp

Giới thiệu một số khái niệm về luật kết hợp, định nghĩa về luật kết hợp, tập mụcthường xuyên, độ tin cậy, độ hỗ trợ một số tính chất cơ bản liên quan của tập mụcthường xuyên trong luật kết hợp cùng các ví dụ minh họa tương ứng

Chương 3 Khai phá luật kết hợp sử dụng SQL

Nội dung bao gồm: Nghiên cứu về thuật toán Apriori phương pháp tiếp cận, Tạotập các ứng viên, Tính toán độ hỗ trợ của các tập mục thường xuyên bằng các kỹthuật truy vấn SQL như: kỹ thuật kết nối k-nhánh; kỹ thuật gom nhóm; và kỹ thuật

sử dụng truy vấn lồng, đánh giá ưu nhược điểm của 3 kỹ thuật này, Sinh luật

Chương 4 Thử nghiệm và bàn luận

Chương 4 trình bày các bước triển khai thử nghiệm và Demo việc khai phá luậtkết hợp với bộ dữ liệu khách hàng từ cơ sở dữ liệu ngân hàng Sau đó bàn luận vềcác kỹ thuật tính toán khi sử dụng SQL khai phá luật kết hợp trên bộ dữ liệu thửnghiệm

Trang 10

CHƯƠNG 1 TỔNG QUAN VỀ PHÁT HIỆN TRI THỨC VÀ KHAI PHÁ DỮ LIỆU

1.1 Phát hiện tri thức

Phát hiện tri thức trong các cơ sở dữ liệu (Knowledge Discovery in KDD) là quá trình tìm kiếm những tri thức tiềm ẩn, không biết trước, và có íchtrong khối cơ sở dữ liệu (CSDL) Thực chất đó là quá trình tìm kiếm những thôngtin có trong cơ sở dữ liệu nhưng bị che dấu trong các khối dữ liệu

Databases-Nhiều người coi khai phá dữ liệu và phát hiện tri thức trong cơ sở dữ liệu là nhưnhau Tuy nhiên trên thực tế khai phá dữ liệu chỉ là một bước thiết yếu trong quátrình phát hiện tri thức trong cơ sở dữ liệu

1.2 Quá trình phát hiện tri thức từ cơ sở dữ liệu

Phát hiện tri thức từ CSDL là quá trình sử dụng các phương pháp, công cụ tinhọc tối ưu nhằm đạt được mục đích nhất định

Quá trình phát hiện tri thức từ CSDL có thể được chia thành các bước như sau:

 Làm sạch dữ liệu (Data Cleaning): Loại bỏ dữ liệu nhiễu, hoặc dữ liệukhông thích hợp

 Tích hợp dữ liệu (Data Integration): Tích hợp dữ liệu từ các nguồn khácnhau

 Chọn dữ liệu (Data selectinon): Chọn những dữ liệu liên quan trực tiếp đếnnhiệm vụ;

 Chuyển đổi dữ liệu (Data Transformation) chuyển dữ liệu về những dạngphù hợp cho việc khai phá

 Khai phá dữ liệu (Data Mining) các kỹ thuật được áp dụng để trích xuấtthông tin có ích hoặc các mẫu điển hình trong dữ liệu

 Đánh giá mẫu (Pattern Evaluation) Đánh giá mẫu hoặc tri thức thu được

 Trình diễn dữ liệu (Knowledge Presentation): Biểu diễn những tri thức khaiphá được

Trang 11

Cleansing PreprocessineTransformati

Data Mining

Nghiên cứu khai phá luật kết hợp sử dụng SQL

Hình 1.1 Quá trình phát hiện tri thức từ CSDL

Hình 1.1 trên đây mô tả năm giai đoạn trong quá trình phát hiện tri thức từCSDL Mặc dù có năm giai đoạn như trên song quá trình phát hiện tri thức từ CSDL

là một quá trình tương tác và lặp đi lặp lại theo chu trình liên tục theo kiểu xoáytròn ốc trong đó lần lặp sau hoàn chỉnh hơn lần lặp trước Ngoài ra giai đoạn sau lạiđược dựa trên kết quả thu được của giai đoạn trước

Để lựa chọn được CSDL phù hợp cho quá trình phát hiện tri thức, người tathường đặc biệt quan tâm đến mục đích, nhiệm vụ và lĩnh vực liên quan tới việcphát hiện tri thức

1.2.2 Tiền xử lý dữ liệu

Dữ liệu đích Data liệu

Trang 12

Tiền xử lý dữ liệu là giai đoạn bao gồm các công việc làm sạch, làm giàu, biểnđổi và rút gọn từ khối dữ liệu lớn thích hợp cho giai đoạn sau CSDL sau khi chọnlựa mới chỉ ở mức liên quan trực tiếp tới nhiệm vụ phát hiện tri thức Những dữ liệunày có thể chưa đầy đủ, chưa thuần nhất, chứa nhiều giá trị đặc biệt…

Do vậy mục đích của quá trình tiền xử lý nhằm loại bỏ những dữ liệu dư thừa,

bổ sung dữ liệu và đồng nhất hóa dữ liệu Các công việc chính bao gồm: Chọn lọc

dữ liệu, làm sạch dữ liệu, làm giàu dữ liệu và mã hóa dữ liệu

Để thuận tiện cho việc phân tích, khai phá dữ liệu thì dữ liệu đầu vào phải đượcchuẩn hóa theo khuôn mẫu thuận tiện cho các thuật toán khai phá dữ liệu Đó lànhiệm vụ của quá trình chuyển dạng dữ liệu

Tùy thuộc vào mục đích, yêu cầu của việc phát hiện tri thức, tại quá trình nàyviệc lựa chọn các giải thuật phù hợp là công việc quan trọng để đảm bảo hiệu suất

và kết quả của công việc

1.2.5 Trình diễn

Trang 13

Trình diễn là việc thể hiện các mẫu dữ liệu sau khi khai phá thành các dạng báocáo để truyền đạt tới người dùng và biến nó thành tri thức hữu dụng.

Kết quả của quá trình khai phá dữ liệu là các mẫu/mô hình dữ liệu có ý nghĩa và

dễ phân tích Tuy nhiên đây là các mẫu/mô hình ở dạng thô có thể chưa trở thành trithức của người yêu cầu phát hiện tri thức

Trình diễn là quá biển đổi, thể hiện các mẫu/mô hình dữ liệu đó thành các dạngbáo cáo phục vụ cho các mục đích khác nhau

1.3 Khai phá dữ liệu

Định nghĩa: Khai phá dữ liệu là một tập hợp các kỹ thuật được sử dụng để tự

động khai thác và tìm ra các mối quan hệ lẫn nhau của dữ liệu trong một tập hợp dữliệu khổng lồ và phức tạp, đồng thời cũng tìm ra các mẫu tiềm ẩn trong tập dữ liệuđó

1.3.1 Nhiệm vụ của khai phá dữ liệu.

Ta đã biết mục đích của khai phá dữ liệu là các tri thức được chiết lọc từ cơ sở

dữ liệu để phục vụ cho các lĩnh vực sản xuất, kinh doanh, y tế, giáo dục…

Do vậy, ta có thể xem mục đích chính của khai phá dữ liệu là mô tả và dự đoán

Dự đoán: Đưa các mẫu/mô hình dữ liệu chiết xuất để dự đoán những giá trị

chưa biết hoặc những giá trị trong tương lai

Mô tả: Tìm kiếm và liệt kê các mẫu/mô hình dữ liệu mà con người có thể hiểu

để sử dụng vào các mục đích khác nhau

Với 2 mục đích cơ bản trên, nhiệm vụ của khai phá dữ liệu bao gồm:

- Phân cụm, phân loại, phân nhóm, phân lớp

- Khai phá luật kết hợp

- Lập mô hình dự báo

- Phân tích đối tượng ngoài cuộc

- Phân tích sự tiến hóa

1.3.2 Các kỹ thuật khai phá dữ liệu:

Các kỹ thuật khai phá dữ liệu thường được chia thành hai nhóm chính cụ thể

Trang 14

- Kỹ thuật khai phá dữ liệu dự đoán: Bản chất của kỷ thuật này là đưa ra các dựđoán dựa vào các suy diễn trên CSDL hiện thời Các kỹ thuật này gồm có: phân lớp,hồi quy…

- Kỹ thuật khai phá dữ liệu mô tả: Kỷ thuật này có nhiệm vụ mô tả về các tínhchất hoặc các đặc tính chung của dữ liệu trong CSDL hiện có Các kỹ thuật nàygồm có: Phân cụm, tóm tắt, trực quan hóa phân tích sự phát triển và độ lệch, phântích luật kết hợp…

1.3.2.1 Kỹ thuật khai phá dữ liệu dự đoán

a Phân lớp dữ liệu

Mục tiêu của kỹ thuật phân lớp dữ liệu là dự đoán nhãn lớp cho các mẫu dữ liệu.Quá trình phân loại dữ liệu bao gồm 2 bước: xây dựng mô hình và sử dụng mô hình

để phân loại

- Xây dựng mô hình dựa trên việc phân tích các mẫu dữ liệu cho trước

- Sử dụng mô hình để phân loại dữ liệu

+ Bước 1: Mô hình sẽ được xây dựng dựa trên việc phân tích các mẫu dữ liệu cósẵn, mỗi mẫu tương ứng với 1 lớp, được quyết định bởi một số thuộc tính gọi làthuộc tính lớp Các lớp dữ liệu này còn được gọi là lớp dữ liệu huấn luyện (trainingdata set) Các nhãn lớp của tập dữ liệu huấn luyện đề phải được xác định trước khixây dựng mô hình

+ Bước 2: Sử dụng mô hình để phân lớp dữ liệu trước hết chúng ta phải tính độchính xác của mô hình Nếu độ chính xác là chấp nhận được, mô hình sẽ được sửdụng để dự đoán nhãn lớp cho các mẫu dữ liệu khác trong tương lai

b Phương pháp hồi quy

Khác với kỹ thuật phân lớp dữ liệu chỉ dùng để dự đoán về các giá trị rời rạc thì

kỹ thuật hồi quy được dùng để dự đoán về các giá trị liên tục

Hội quy là một hàm toán học ánh xạ mục dữ liệu thành một biến dự đoán có giátrị thực Trong cuộc sống có rất nhiều ứng dụng khai phá dữ liệu với nhiệm vụ hộiquy, cụ thể như: đánh giá tình trạng sức khỏe của bệnh nhân khi biết được kết quả

Trang 15

xét nghiệm chẩn đoán, dự đoán khả năng tiêu thụ của một sản phẩm mới băng hàmchi tiêu quảng cáo……

1.3.2.2 Khai phá dữ liệu mô tả

Nhiệm vụ của khai phá dữ liệu mô tả là mô tả về các tính chất hay đặc tínhchung của dữ liệu trong CSDL hiện thời

Bao gồm các kỹ thuật: + Kỹ thuật phân cụm;

+ Kỹ thuật khai phá luật kết hợp;

a Phân cụm dữ liệu.

Mục tiêu chính của kỹ thuật phân cụm dữ liệu là nhóm các đối tượng tương tựnhau trong tập dữ liệu vào các cụm sao cho các đối tượng thuộc cùng một cụm làtương đồng còn các đối tượng thuộc các cụm khác sẽ không tương đồng

Một đối tượng có thể thuộc về nhiều hơn một cụm

b Khai phá luật kết hợp.

Mục tiêu chính của kỹ thuật khai phá luật kết hợp là phát hiện và đưa ra các mốiquan hệ giữa các giá trị dữ liệu trong CSDL Đầu ra của khai phá dữ liệu sử dụng kỹthuật này là các luật kết hợp tìm được

Khai phá luật kết hợp được thực hiện qua 2 bước cơ bản:

+ Bước 1: Là tìm tất cả các tập mục phổ biến, một tập mục phổ biến được xácđịnh qua độ hỗ trợ và có độ hỗ trợ lớn hơn độ hỗ trợ cực tiểu

+ Bước 2: Khi sinh ra các luật kết hợp từ tập mục phổ biến, độ hỗ trợ và độ tincậy của các luật phải lớn hơn độ hỗ trợ cực tiểu và độ tin cậy cực tiểu tương ứng

1.4 Một số phương pháp khai phá dữ liệu

1.4.1 Phương pháp quy nạp

Một cơ sở dữ liệu là một kho thông tin nhưng các thông tin quan trọng hơncũng có thể được suy diễn từ kho thông tin đó Có hai kỹ thuật chính để thực hiệnviệc này đó là suy diễn và quy nạp

+ Phương pháp suy diễn:

Trang 16

Nợ ≤n Nợ >n Không cho vay

Thu nhập ≤t Thu nhập >t Không cho vay Cho vay

các thông tin cũ Mẫu chiết xuất được bằng cách sử dụng phương pháp này thường

là các luật suy diễn

+ Phương pháp quy nạp:

Phương pháp quy nạp suy ra các thông tin được sinh ra từ cơ sở dữ liệu Cónghĩa là nó tự tìm kiếm, tạo mẫu và sinh ra tri thức chứ không phải bắt đầu với cáctri thức đã biết trước Các thông tin mà phương pháp này đem lại là các thông tinhay các tri thức cấp cao diễn tả về các đối tượng trong cơ sở dữ liệu

1.4.2 Cây quyết định và luật:

a Cây quyết định:

Cây quyết định là một mô tả tri thức dạng đơn giản nhằm phân các đối tượng dữliệu thành một số lớp nhất định Các nút của cây được gán nhãn là tên các thuộctính, các cạnh được gán các giá trị có thể của các thuộc tính, các lá mô tả các lớpkhác nhau Các đối tượng được phân lớp theo các đường đi trên cây, qua các cạnhtương ứng với các giá trị của thuộc tính của đối tượng tới lá Ta có minh họa hình 1.2

Hình 1.2 Mẫu kết hợp với phương pháp cây quyết định

b Tạo luật

Trang 17

Các luật được tạo ra nhằm suy diễn một số mẫu dữ liệu có ý nghĩa về mặt thống

kê Các luật có dạng Nếu P Thì Q, với P là mệnh đề đúng với một phần trong cơ sở

dữ liệu, Q là mệnh đề dự đoán

Cây quyết định và luật có ưu điểm là hình thức mô tả đơn giản, mô hình suydiễn khá dễ hiểu đối với người sử dụng Tuy nhiên, giới hạn của nó là mô tả cây vàluật chỉ có thể biểu diễn được một số dạng chức năng và vì vậy giới hạn cả về độchính xác của mô hình

1.4.3 Phát hiện các luật kết hợp

Phương pháp này nhằm phát hiện ra các luật kết hợp giữa các thành phần dữliệu trong cơ sở dữ liệu Mẫu đầu ra của giải thuật khai phá dữ liệu là tập luật kếthợp tìm được Một ví dụ đơn giản về luật kết hợp như sau: sự kết hợp giữa haithành phần A và B có nghĩa là sự xuất hiện của A trong bản ghi kéo theo sự xuấthiện của B trong cùng bản ghi đó: A => B

Cho một lược đồ R= {A1,A2, ……, Ap} các thuộc tính với miền giá trị {0,1},

và một quan hệ r trên R Một luật kết hợp trên r được mô tả dưới dạng X=>B với

R

X ⊆ và B € R\X Về mặt trực giác, ta có thể phát biểu ý nghĩa của luật như sau:Nếu một bản ghi của bảng r có giá trị 1 tại mỗi thuộc tính thuộc X, thì giá trị củathuộc tính B cũng là một trong cùng bản ghi đó Ví dụ: như ta có tập cơ sở dữ liệu

về các mặt hàng bán trong siêu thị các dòng tương ứng với các ngày bán hàng, cáccột tương ứng với các mặt hàng thì giá trị 1 tại ô (20/10 bánh mì) xác định rằngbánh mì đã được bán ngày hôm đó và cũng kéo theo sự xuất hiện giá trị 1 tại ô(20/10, bơ)

Cho W R ⊆ , đặt s(W,r) là tần số xuất hiện của W trong r được tính bằng tỷ lệ củacác dòng trong r có giá trị 1 tại mỗi cột thuộc W Tần số xuất hiện của luật X=>Btrong r được định nghĩa là s(X ∪{B},r) còn gọi là độ hỗ trợ của luật, độ tin cậy của

X

Trang 18

quá trình tìm kiếm bắt đầu Điều đó cũng cho thấy không gian tìm kiếm có kíchthước tăng lên theo hàm mũ của số lượng các thuộc tính ở đầu vào Do vậy cần phảichú ý thiết kế dữ liệu cho việc tìm kiếm các luật kết hợp.

Nhiệm vụ của việc phát hiện các luật kết hợp là phải tìm tất cả các luật X=>Bsao cho tần số của luật không nhỏ hơn ngưỡng σ cho trước và độ tin cậy của luậtkhông nhỏ hơn ngưỡng Minconfi cho trước Từ một cơ sở dữ liệu, ta có thể tìm rađược hàng nghìn và thậm chí hàng trăm nghìn các luật kết hợp

Ta gọi một tập con XR là phổ biến trong r nếu thỏa mãn điều kiện s(X,r) ≥ δ .Nếu biết tất cả các tập phổ biến trong r thì việc tìm kiếm các luật kết hợp rất dễdàng Vì vậy giải thuật tìm kiếm các luật kết hợp trước tiên phải đi tìm tất cả các tậpphổ biến này, sau đó tạo dựng dần các luật kết hợp bằng cách ghép dần các tậpthuộc tính dựa trên mức độ phổ biến

Các luật kết hợp có thể là một cách hình thức hóa đơn giản Chúng rất thích hợpcho việc tạo ra các kết quả có dữ liệu dạng nhị phân Giới hạn cơ bản của phươngpháp này là ở chỗ quan hệ cần phải thưa theo nghĩa là không có tập phổ biến nàochứa nhiều hơn 15 thuộc tính Giải thuật tìm kiếm các luật kết hợp tạo ra số luật ítnhất băng số các tập phổ biến và nếu như một tập phổ biến có kích thước K thì phải

có ít nhất uật kết hợp Thông tin về các tập phổ biến được sử dụng để ước lượng độtin cậy của các tập luật kết hợp

1.5 Ứng dụng khai phá dữ liệu

Khai phá dữ liệu tuy là lĩnh vực mới nhưng là một lĩnh vực đang được quan tâmnhiều và ứng dụng rộng rãi trong thực tiễn Một số ứng dụng điển hình của khai phá

dữ liệu có thể được liệt kê như sau:

- Phân tích dữ liệu và hỗ trợ ra quyết định (Analysis & Decition support)

- Phân lớp văn bản, tóm tắt văn bản và phân lớp các trang Web (Text mining & Webmining)

- Điều trị y học (Medical) Mỗi liên hệ giữa triệu chứng, chẩn đoán và phương phápđiều trị (chế độ dinh dưỡng, thuộc men, phẩu thuật)

- Phân tích độ rủi ro

Trang 19

- Tài chính và thị trường chứng khoán (Finance & stock market): Phân tích tình hìnhtài chính và dự đoán giá cổ phiếu.

- Bảo hiểm, Giáo dục……

1.6 Các thách thức trong khai phá dữ liệu

Khai phá dữ liệu ngày càng đóng góp một vai trò quan trong trong việc tìm racác tri thức thực sự có ích, hiệu quả tiềm ẩn trong các khối dữ liệu thông tin khổng

lồ mà hàng ngày vấn đang được thu thập, lưu trữ để giúp các cá nhân và tổ chức đưa

ra các quyết định chính xác và nhanh chóng Tuy đã có rất nhiều các giải pháp vàphương pháp được ứng dụng trong khai phá dữ liệu nhưng trên thực tế quá trính nàyvẫn gặp không ít khó khăn và thách thức như:

- Cơ sở dữ liệu có kích thước lớn

- Cơ sở dữ liệu có số thuộc tính lớn

Thay đổi dữ liệu và tri thức có thể làm cho các mẫu đã phát hiện không còn phùhợp

- Dữ liệu bị thiếu hoặc bị nhiễu

- Quan hệ giữa các trường phức tạp

- Giao tiếp với người sử dụng và kết hợp với các tri thức đã có

- Tích hợp với các hệ thống khác

Cơ sở dữ liệu lớn có thể lớn về số lượng các bản ghi, lớn về số lượng các thuộctính trong CSDL Số lương các bản ghi trong CSDL lớn có khi dung lượng tới hàngGigabyte, terabyte; số thuộc tính trong CSDL có thể rất nhiều và đa dạng Để giảiquyết vấn đề này người ta thường đưa ra một ngưỡng nào đó cho CSDL bằng cáccách như chiết xuất mẫu, xấp xỉ hoặc xử lý song song Trong CSDL khi mà số cácthuộc tính là rất lớn, cùng với số lương lớn các bản ghi sẽ dẫn đến kích thước độphức tạp của bài toán tăng lên Vì vậy không gian tìm kiếm không gian trạng tháigia tăng, nhiều mẫu hay mô hình thừa trùng lặp phát sinh nhiều luật thừa, đây đượccoi là vấn đề nan giải trong quá trình khai phá dữ liệu Nhằm giải quyết được những

Trang 20

vấn đề trên phải sử dụng một số các tri thức đã biết trước để loại bỏ và trích lọc ranhững dữ liệu thích hợp với yêu cầu của bài toán.

Vấn đề dữ liệu bị thay đổi phụ thuộc theo thơi gian, có nghĩa là dữ liệu bị ảnhhưởng và phụ thuộc vào thời điểm quan sát, lấy mẫu, thời điểm khai phá Kết quảđạt được sau khi khai phá cũng gây không ít khó khăn cho khai phá dữ liệu, như cácmẫu được khai phá ở bước trước, có thể không có giá trị hay vô nghĩa đối với thờiđiểm sử dụng, hoặc có thể làm nhiễu, hay phát sinh hiệu ứng phụ làm sai lệch kếtquả Để khắc phục được vấn đề này cần phải chuẩn hóa, cải tiến nâng cấp các mẫu,các mô hình và có thể xem các thay đổi này là mục đích của khai phá và tìm kiếmcác mẫu bị thay đổi Thuộc tính không phù hợp, các bộ giá trị không đầy đủ bị thiếugiá trị trong các miền thuộc tính đã làm ảnh hưởng rất lớn trong khai phá dữ liệu.Trong quá trình khai phá dữ liệu, khi các hệ thống tương tác với nhau phụ thuộcnhau mà thiếu vắng một vài giá trị nào đó, sẽ dẫn đến các mẫu không được chínhxác, bị thiếu, không đầy đủ Để giải quyết cho vấn đề này, người ta coi sự thiếuvắng của các dữ liệu này là giá trị ẩn, chưa biết và có thể được tiên đoán băng mộtphương pháp náo đó

Quan hệ phức tạp giữa các thuộc tính trong CSDL cũng là vấn đề cần được quantâm Những bộ thuộc tính có cấu trúc, phân lớp phức tạp, có mỗi liên hệ phức tạpvới nhau trong CSDL đòi hỏi khai phá dữ liệu phải có các giải pháp các kỹ thuật để

có thể áp dụng được, nhận ra được các mỗi quan hệ này trong quá trình khai phá dữliệu

1.7 Kết luận chương 1.

Nội dung chương trình đã tìm hiểu quá trình phát hiện tri thức và các vấn đềkhai phá dữ liệu Phát hiện tri thức (KDD) là quá trình rút ra tri thức từ dữ liệu màtrong đó khai phá dữ liệu là giai đoạn chủ yếu Khai phá dữ liệu là nhiệm vụ khaiphá các mẫu có ích từ số lượng lớn dữ liệu, ở đó dữ liệu có thể được lưu trữ trongcác CSDL, kho dữ liệu hoặc kho lưu trữ thông tin khác Nó là một lĩnh vực còn mới

mẻ và được phát triển từ các lĩnh vực như hệ thống CSDL, kho dữ liệu, thống kê,học máy, trực quan hóa dữ liệu , Khai phá tri thức bao gồm nhiều giai đoạn trong

Trang 21

đó giai đoạn khai phá dữ liệu là giai đoạn quan trọng nhất Chương này tóm tắt một

số phương pháp dùng để khai phá dữ liệu và phân tích việc khai phá dữ liệu Trongcác phương pháp khai phá dữ liệu, phát hiện các luật kết hợp là một lĩnh vực đangđược quan tâm nghiên cứu nhiều Phần này sẽ được trình bày rõ hơn trong phần tiếptheo của luận văn

Trang 22

CHƯƠNG 2 KHAI PHÁ LUẬT KẾT HỢP

2.1 Bài toán khai phá luật kết hợp.

Bài toán khai phá luật kết hợp được giới thiệu từ năm 1993 và nhận được rấtnhiều sự quan tâm của nhiều nhà khoa học [4] Ngày nay việc khai thác các luật nhưthế vẫn là một trong những phương pháp khai thác mẫu phổ biến nhất trong việcphát hiện tri thức và khai phá dữ liệu

Mục đích chính của khai phá dữ liệu là các tri thức được kết xuất ra sẽ được sửdụng trong dự báo thông tin trợ giúp trong sản xuất kinh doanh và nghiên cứu khoahọc

Trong hoạt động sản xuất kinh doanh, ví dụ kinh doanh các mặt hàng tại siêuthị, các nhà quản lý rất thích có được thông tin mang tính thống kê như: “90% phụ

nữ có xe máy màu đỏ và đeo đồng hồ Thụy Sĩ thì dùng nước hoa hiệu Chanel” hoặc

“70% khách hàng là công nhân khi mua TV thường mua loại TV 21inches” Nhữngthông tin như vậy rất hữu ích cho việc định hướng kinh doanh Vậy vấn đề đặt ra làliệu có tìm được các luật như vậy bằng các công cụ khai phá dữ liệu hay không?.Câu trả lời hoàn toàn có thể Đó chính là nhiệm vụ khai phá luật kết hợp

Giả sử chúng ta có một cơ sở dữ liệu T Luật kết hợp cho biết phạm vi mà trong

đó sự xuất hiện của tập các mục X nào đó trong các bản ghi của T sẽ kéo theo sựxuất hiện của tập các mục Y cũng trong những bản ghi đó Mỗi luật kết hợp đượcđặc trưng bởi hai thông số độ tin cậy và độ hỗ trợ Độ tin cậy được biểu diễn bằng tỉ

lệ % những bản ghi trong T chứa cả X và Y so với những bản ghi trong T chứa X

Độ hỗ trợ được biểu diễn bằng tỉ lệ % những bản ghi trong T chứa cả X và Y

Vấn đề khai phá luật kết hợp được phát biểu như sau: Cho trước độ hỗ trợ α và

độ tin cậy β Những luật kết hợp trong D có độ hỗ trợ và độ tin cậy tương ứng lớnhơn hoặc bằng α và β

Giả thiết T là CSDL giao dịch và với α = 40%, β = 90% Vấn đề khai phá luậtkết hợp được thực hiện như sau:

Trang 23

Liệt kê, đếm tất cả những qui luật chỉ ra sự xuất hiện tập các mục này sẽ kéotheo sự xuất hiện tập các mục khác.

Chỉ xét những qui luật mà độ hỗ trợ lớn hơn hoặc bằng 40% và độ tin cậy lớnhơn hoặc bằng 90%

Hãy tưởng tượng một công ty bán hàng qua mạng Internet Các khách hàngđược yêu cầu điền vào các mẫu bán hàng để công ty có được một CSDL về các yêucầu của khách hàng Giả sử công ty quan tâm đến mối quan hệ “tuổi, giới tính, nghềnghiệp và sản phẩm” Khi đó có thể có rất nhiều câu hỏi tương ứng với luật trên

Ví dụ trong lứa tuổi nào đó thì những khác hàng nữ là công nhân sẽ đặt muamặt hàng gì đó, ví dụ áo dài chẳng hạn là nhiều nhất, thỏa mãn một ngưỡng nào đó?

2.2 Một số khái niệm cơ bản

Mục đích của luật kết hợp là tìm ra sự kết hợp hay tương quan giữa các item

Một luật kết hợp được định nghĩa là một mệnh đề kéo theo có dạng XY ,

trong đó X,YI thõa mãn điều kiện XY =Ø X, Y được gọi là các tập mục(itemset) Tập X gọi là nguyên nhân, tập Y gọi là hệ quả

Theo quan điểm thống kê: X được gọi là biến độc lập và Y được gọi là biến phụthuộc

Có 2 độ đo quan trọng đối với luật kết hợp: Độ hỗ trợ (Support) và độ tin cậy(Confidence), được định nghĩa như phần sau;

2.2.2 Định nghĩa về đỗ hỗ trợ

Trang 24

Độ hỗ trợ của một tập mục X trong cơ sở dữ liệu T là tỉ lệ giữa số lượng các bản

ghi t iTcó chứa tập mục X và tổng số bản ghi trong T (hay là phần trăm của các

bản ghi trong T có chứa tập mục X), kí hiệu Supp(X) và có công thức sau:

)(

N

X n T

T X T t X Supp

Trong đó: n(X) là số giao dịch chứa X, N là tổng số giao dịch

Độ hỗ trợ của một luật kết hợp XY là tỉ lệ giữa số lượng các bản ghi chứa

tập mục XY so với tổng số các bản ghi trong T Kí hiệu Supp(XY) có công

thức sau:

)(

N

Y X n T

T Y X T t Y X Supp

Trong đó: n(X) là số giao dịch chứa X, N là tổng số giao dịch

2.2.3 Định nghĩa độ tin cậy

Độ tin cậy của một luật kết hợp XY là tỉ lệ giữa số lượng các bản ghi trong T

chứa tập mục XY so với số lượng các bản ghi trong T chứa tập mục X Kí hiệu

)(

)(

|

|)

Y X Supp X

n

Y X n T

X D t

T Y X T t Y X conf

Trong đó: n(X) là số giao dịch chứa X

Tập mục X được gọi là tập mục thường xuyên (frequent itemset) nếu

supmin

)

(X

Supp , với minsup là độ hỗ trợ tối thiểu cho trước.

Ngược lại, một tập mục không thường xuyên X là tập mục mà độ hỗ trợ của nónhỏ hơn độ hỗ trợ tối thiểu cho trước

Chúng ta nhận thấy rằng, tri thức đem lại bởi luật kết hợp dạng trên có sự khácbiệt rất nhiều so với những thông tin thu được từ các câu lệnh truy vấn dữ liệu thôngthường Đó là những tri thức, những mối liên hệ chưa biết trước và mang tính dự

Trang 25

báo đang tiềm ẩn trong dữ liệu Những tri thức này không đơn giản là kết quả củaphép gom nhóm, tính tổng hay sắp xếp mà là của một quá trình tính toán khá phứctạp.

Tuy nhiên, không phải bất cứ luật kết hợp nào có mặt trong tập các luật có thểđược sinh ra đều có ý nghĩa trên thực tế Mà các luật phải thỏa mãn một ngưỡng hỗtrợ và tin cậy cụ thể Thực vậy, cho một tập các giao dịch T, bài toán khai phá luậtkết hợp là sinh ra tất cả các luật kết hợp mà có độ hỗ trợ supp lớn hơn hoặc bằng độ

hỗ trợ tối thiểu minsup và độ tin cậy conf lớn hơn hoặc bằng độ tin cậy tối thiểuminconf tương ứng do người dùng xác định Khai phá luật kết hợp được phân thành

2 bài toán con:

Bài toán 1: Tìm tất cả các tập mục mà có độ hỗ trợ lớn hơn hoặc bằng độ hỗ trợ

tối thiểu do người dùng xác định Các tập mục thỏa mãn độ hỗ trợ tối thiểu được gọi

là các tập mục thường xuyên

Bài toán 2: Dùng các tập mục thường xuyên để sinh ra các luật mong muốn Ý

tưởng chung là nếu F={i1, i2, …, in} là một tập mục thường xuyên, với mỗi tập mụcS={i1, i2, …, ik} là tập con không rỗng của F thì chúng ta có thể xác định luật

S

F

S⇒ − với độ tin cậy:

)(

)(

S Supp

S F Supp conf = −

Nếu conf ≥ minconf thì luật được giữ lại.

2.3 Một số tính chất liên quan.

2.3.1 Tập mục thường xuyên

Tính chất 1: Giả sử A,BI là tập các mục với AB thì Supp(A)≥ Supp(B).

Chứng minh:

Trang 26

Thật vậy, theo định nghĩa độ hỗ trợ của một tập hợp ta có: N

B n B

N

A n

A

, trong đó n(B), n(A) lần lượt là số giao dịch tương ứng chứa tập A,

B trong T Rõ ràng với AB thì ta sẽ có được n(A)≥ n(B) (những bản ghi nào

chứa tập B thì sẽ chứa tập A), và do vậy Supp(A)≥ Supp(B) là điều hiển nhiên.

xuyên và AB thì A cũng là tập mục thường xuyên.

Chứng minh:

Thật vậy, AB ta có Supp(A)≥ Supp(B) (theo tính chất 1 ở trên) Hơn nữa B là

tập mục thường xuyên nên Supp(B)≥ minsup Do vậy Supp(A)≥ Supp(B)≥ minsup

nên A cũng là tập mục thường xuyên

không thường xuyên thì B cũng là tập mục không thường xuyên

Chứng minh:

Thật vậy, AB ta có Supp(A)≥ Supp(B) (theo tính chất 1 ở trên) Hơn nữa A

là tập mục không thường xuyên nên Supp(A)< minsup Do vậy

supmin)()

Trang 27

Thật vậy, với XY , YZ là hai luật kết hợp thì tương ứng

supmin)(

)

N

Y X n Y

X

Supp

)()

N

Z Y n Z Y Supp

Ta lại có

)(

)(X Y Z Supp X Y

Supp ∪ ∪ ≤ ∪ và Supp(XYZ)≤ Supp(YZ) Như vậy ta xét

trường hợp Supp(XY)= minsup hoặc Supp(YZ)= minsup thì

supmin)(XYZ

hiện cùng nhau trong một giao dịch)

)(

Y X Supp

Z Y X Supp Z

Y X conf

)(

)

(

X Supp

Z X Supp Z

X

)()

(

Y Supp

Z Y Supp Z

Y

Xét trường hợp Z có mặt trong một giao dịch chỉ khi X và Y cũng có mặt, tức là

s Z Y Supp Z

X Supp Z

Supp Y

X Supp Z

)(

Z Y X Supp Z

Y X

conf

, và nếu như độ tin cậy tối thiếuminconf = 1 thì hai luật XZYZ sẽ không đủ độ tin cậy.

Tuy nhiên, đảo lại: XYZ thì XYXZ

Tính chất 3: Luật kết hợp không có tính bắc cầu

Trang 28

Với với minsup=50%, minconf=50% ta sẽ tìm được các luật kết hợp:

Ở ví dụ trên ta có X⇒ Y và Y⇒ Z nhưng không tồn tại X⇒ Z.

2.4 Một số hướng tiếp cận trong khai phá luật kết hợp

Lĩnh vực khai thác luật kết hợp cho đến nay đã được nghiên cứu và pháttriển theo nhiều hướng khác nhau Có những đề xuất nhằm cải tiến thuật toán, có

đề xuất tìm kiếm những luật có ý nghĩa hơn… Dưới đây là một số hướng chính [4]:Luật kết hợp nhị phân (Binary association rule): Là hướng nghiên cứu đầutiên của luật kết hợp Theo dạng luật kết hợp này thì các items chỉ được quantâm là có hay không xuất hiện trong cơ sở dữ liệu giao tác (Transaction database)chứ không quan tâm về mức độ hay tần xuất xuất hiện Thuật toán tiêu biểu nhấtcủa khai phá dạng luật này là thuật toán Apriori[4]

Luật kết hợp có thuộc tính số và thuộc tính hạng mục (Quantitative andcategorial association rule): các cơ sở dữ liệu thực tế thường có các thuộc tính đadạng (như nhị phân, số, mục (categorial) ) chứ không nhất quán ở một dạng nào

cả Vì vậy để khai phá luật kết hợp với các cơ sở dữ liệu này các nhà nghiên cứu đềxuất một số phương pháp rời rạc hóa nhằm chuyển dạng luật này về dạng nhị phân

Trang 29

điều hành Windows và mua phần mềm văn phòng Microsoft Office,…[4]

Luật kết hợp mờ (fuzzy association rule): Với những khó khăn gặp phảikhi rời rạc hóa các thuộc tính số, các nhà nghiên cứu đề xuất luật kết hợp mờ khắcphục hạn chế đó và chuyển luật kết hợp về một dạng gần gũi hơn.[4]

Luật kết hợp với thuộc tính được đánh trọng số (association rules withweighted items): Các thuộc tính trong cơ sở dữ liệu thường không có vai trònhư nhau Có một số thuộc tính quan trọng và được chú trọng hơn các thuộctính khác Vì vậy trong quá trình tìm kiếm luật các thuộc tính được đánh trọng sốtheo mức độ xác định nào đó Nhờ vậy ta thu được những luật “hiếm” (tức là có

độ hỗ trợ thấp nhưng mang nhiều ý nghĩa).[4]

Khai thác luật kết hợp song song (parallel mining of association rule): Nhucầu song song hóa và xử lý phân tán là cần thiết vì kích thước dữ liệu ngàycàng lớn nên đòi hỏi tốc độ xử lý phải được đảm bảo.[4]

Khai phá luật kết hợp sử dụng SQL: Sự đa dạng của dữ liệu, các nhiệm vụkhai phá dữ liệu, và các cách tiếp cận khai phá dữ liệu đặt ra nhiều thách thức trongvấn đề nghiên cứu KPDL Sự phát triển của các hệ thống và phương pháp KPDLhiệu quả, việc xây dựng các môi trường KPDL tương tác và tích hợp, việc thiết kếcác ngôn ngữ KPDL, và việc ứng dụng các kỹ thuật KPDL để giải quyết các vấn đềứng dụng lớn là nhiệm vụ quan trọng đối với các nhà nghiên cứu KPDL, hệ thốngKPDL và các nhà phát triển ứng dụng Phần này đề cập đến một số vấn đề đang thuhút sự chú ý của các nhà nghiên cứu KPD Làm thế nào để tăng cường hiệu suất, độchính xác, khả năng mở rộng, và tích hợp của các hệ thống khai thác dữ liệu? Làm

Trang 30

dữ liệu không đầy đủ, không phù hợp, và nhiễu ? Ba câu hỏi trên đã được tập trungnghiên cứ nghiên cứu bằng phương pháp khai phá luật kết hợp dựa trên sức mạnhcủa SQL trong đó tập trung nghiên cứu 3 kỹ thuật cơ bản là k-nhánh (K-Way), gomnhóm (2_Group by) và truy vấn lồng (Sub Query) và sẽ được trình bày chi tiết ởchương 3 của luận văn này.

Trên đây là những biến thể của khai phá luật kết hợp cho phép ta tìm kiếmluật kết hợp một cách linh hoạt trong những cơ sở dữ liệu lớn Bên cạnh đó cácnhà nghiên cứu còn chú trọng đề xuất các thuật toán nhằm tăng tốc quá trình tìmkiếm luật kết hợp trong cơ sở dữ liệu

2.5 Kết luận chương 2

Trong nội dung chương này đã trình bày một số định nghĩa cơ bản và các tínhchất liên qua đế luật kết hợp như: Tập thường xuyên, độ hỗ trợ, độ tin cậy… Đồngthời cũng trình bày một số hướng tiếp cận trong nghiên cứu khai phá luật kết hợp

Để đi sâu hơn vào nghiên cứu khai phá luật kết hợp, trong chương 3 của luận văn tập trung nghiên cứu một số thuật toán điển hình trong khai phá luật kết hợp và đặc biệt đi sâu về tìm hiểu khai phá luật kết hợp bằng SQL

Trang 31

CHƯƠNG 3 KHAI PHÁ LUẬT KẾT HỢP SỬ DỤNG SQL

3.1 Đặt vấn đề

Ở chương 1 chúng ta đã tìm hiểu tổng quan về phát hiện tri thức và khai phá

dữ liệu, qua đó cho thấy ý nghĩa quan trọng của khai phá dữ liệu là tìm ra các trithức hữu ích tiềm ẩn bên trong các khối dữ liệu mà hàng ngày chúng ta vẫn đangthu thập được Hiện nay đã có rất nhiều giải pháp được đưa ra ứng dụng trong khaiphá dữ liệu, tuy nhiên trên thực tế cho thấy quá trình này vẫn còn gặp rất những khókhăn và thách thức

Khai phá các luật kết hợp là một tiếp cận khai phá dữ liệu nhằm phát hiện ra cácluật kết hợp giữa các thành phần dữ liệu trong cơ sở dữ liệu Mục đích chính củaquá trình này là tìm các tri thức dưới dạng các luật được kết xuất ra từ dữ liệu để sửdụng trong dự báo thông tin, trợ giúp trong sản xuất kinh doanh và nghiên cứu khoahọc… Một trong những thuật toán được sử dụng nhiều khi khai phá luật kết hợp làthuật toán Apriori và các mở rộng của thuật toán này [4]

Như chúng ta đã biết SQL là ngôn ngữ của cơ sở dữ liệu, có khả năng rất mạnhkhi truy vấn dữ liệu, chính vì thế, gần đây có nhiều nghiên cứu khai phá luật kết hợpbằng cách xây dựng thuật toán Apriori sử dụng SQL Kỹ thuật này không chỉ khaithác được sức mạnh của SQL, một ngôn ngữ được tích hợp trong hầu hết các hệquản trị cơ sở dữ liệu, mà còn cho thấy tính hiệu quả về tốc độ xử lý và thực thi.Trong chương 3 này tập trung nghiên cứu quá trình khai phá luật kết hợp sửdụng SQL Phần 3.1 là kiến thức nền tảng về thuật toán Apriori Cách tạo tập cácứng viên sử dụng SQL được trình bày ở phần 3.3 Phần 3.4 trình bày việc tính toán

độ hỗ trợ của tập mục thường xuyên bằng các kỹ thuật nối k-nhánh (K-way join),

kỹ thuật gom nhóm (Group by), và kỹ thuật sử dụng truy vấn lồng (Sub query) Giaiđoạn sinh luật từ tập mục thường xuyên được trình bày ở phần 3.5 Phần cuối củachương 3 là một ví dụ minh họa về khai phá luật kết hợp sử dụng SQL từ cơ sở dữ

Trang 32

3.2 Thuật toán Apriori

3.2.1.Ý tưởng

Apriori là một trong những thuật toán khai phá dữ liệu được sử dụng khá phổbiến, cụ thể hơn là nó được dùng để khai phá luật kết hợp trong cơ sở dữ liệu.Apriori là giải thuật được Rakesh Agrawal, Tomasz Imielinski, Arun Swami đề xuấtlần đầu vào năm 1993 [4]

Thuật toán Apriori dựa trên một nhận xét tinh tế là bất kỳ tập hợp con nào củatập mục thường xuyên cũng là tập mục thường xuyên Do đó quá trình tìm tập mụcthường xuyên, chỉ cần dùng đến tập mục thường xuyên vừa xuất hiện ở bước ngaytrước đó, chứ không dùng đến tất cả các tập mục thường xuyên, tính đến thời điểmhiện tại Nhờ vậy, bộ nhớ được giải phóng đáng kể và thời gian tính toán nhanh hơn [4].Quá trình thực hiện thuật toán Apriori có thể được liệt kê theo các bước sau:

Bước 1: Tìm tất cả các tập mục thường xuyên (frequent itemset).

Tập mục thường xuyên k-itemset tìm được dùng để tìm tập mục thường xuyên(k+1)-itemset

Đầu tiên tìm tập mục thường xuyên 1-itemset (F1) Sau đó F1 được dùng để tìm

F2 (2-itemset),… cho đến khi không có tập mục thường xuyên k-itemset nào đượctìm thấy

Bước 2: Từ các tập mục thường xuyên sinh ra các luật kết hợp thõa mãn ngưỡng

độ tin cậy tối thiểu (minconf)

Với mỗi tập mục thường xuyên F = {i1, i2, …, in} ta liệt kê tất cả các tập mụcS={i1, i2, …, ik} là tập con không rỗng của F và thiết lập luật kết hợp SFS nếu

thõa mãn ngưỡng độ tin cậy tối thiểu

3.2.2 Thuật toán

Đầu vào: Cơ sở dữ liệu giao dịch T, độ hỗ trợ tối thiểu minsup.

Đầu ra: Các tập mục thường xuyên.

Các bước thực hiện:

(1-itemset) và độ hỗ trợ Supp tương ứng So sánh Supp với minsup để có được tập

mục thường xuyên F1 (1-itemset)

Trang 33

Bước 2: Sử dụng Fk-1 kết nối nối với chính nó, tức là kết nối Fk-1 với Fk-1 để sinh

ra tập ứng viên k-itemset Ck

Bước 3: Duyệt cơ sở dữ liệu giao dịch để tính độ hỗ trợ supp của mỗi tập ứng

cử viên k-itemset Ck So sánh độ hỗ trợ supp với minsup (supp minsup) để thu

được tập mục thường xuyên k-itemset (Fk)

Bước 5: Với mỗi tập mục thường xuyên F, sinh tất cả các tập con S không rỗng

của F

của nó thỏa mãn ngưỡng độ tin cậy tối thiểu (minconf)

Trên đây là giải thuật chung của thuật toán Apriori, bây giờ ta xét cụ thể từngcông đoạn của thuật toán Apriori:

Tìm tất cả các tập mục thường xuyên (tập mục thường xuyên là tập con của tập ứng viên mà độ hỗ trợ lớn hơn ngưỡng minsup).

Algorithm Apriori(T)

C1←I; // I là tập tất cả các mục (mặt hàng) trong T

F1←{ f | fC 1 , f count / N ≥ min sup } ; //N: tổng số giao dịch

for (k = 2; Fk-1≠ Ø; k++) do // Duyệt tới khi không có F k nào được tìm thấy

Ck←candidate_gen(Fk-1); //Hàm tạo tập ứng cử viên C k từ F k-1

for each transaction tT do //Duyệt từng giao dịch trong T

for each candidate cC k do //Duyệt từng tập ứng cử viên trong Ck

Trang 34

Tạo luật kết hợp từ các tập mục thường xuyên vừa tạo ở trên:

Với mỗi tập mục thường xuyên F tìm được:

- Tìm tất cả tập con không rỗng S của F

- Tạo luật kết hợp S⇒ (F S− ) nếu thỏa mãn ngưỡng độ tin cậy tối thiếu

(minconf)

Trang 35

Tóm lại để khai phá được các luật kết hợp bằng thuật toán Apriori chúng ta cầnxây dựng được 3 thủ tục quan trọng như sau đây:

Giả sử ta có một cơ sở dữ liệu giao dịch T như sau:

Cơ sở dữ liệu giao dịch T

Với minsup = 30%, minconf = 80% ta thực hiện lần lượt theo thuật toán Apriorinhư sau:

Trong ví dụ này số các giao dịch là 7, ta dễ thấy 2/7 < minsup < 3/7, nên ta chỉxét các độ hỗ trợ (supp) với tần suất xuất hiện ≥ 3.

Lần duyệt 1 ta được tập ứng cử viên C1 (1-itemset) và độ hỗ trợ tương ứng

Trang 36

Loại bỏ các itemset trong C1 không phải là tập mục thường xuyên ta được các tập mục thường xuyên F1 (1-itemset) (tần suất xuất hiện ≥3)

Loại bỏ các dòng trong C2 không phải là tập mục thường xuyên (có sup nhỏ hơn

hiện lớn hơn hoặc bằng 3

Ngày đăng: 01/07/2016, 17:52

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1]. Nguyễn Thị Biên, Khai phá luật kết hợp trong cơ sở dữ liệu đa phương tiện, Trường Đại học Công nghệ, Luận văn thạc sĩ Công nghệ thông tin, 2012 Sách, tạp chí
Tiêu đề: Khai phá luật kết hợp trong cơ sở dữ liệu đa phương tiện
[2]. Nguyễn Nhật Quang, Khai phá dữ liệu, Trường Đại học Bách Khoa Hà Nội Viện Công nghệ Thông tin và Truyền thông, tập bài giảng, 2014.Tiếng Anh Sách, tạp chí
Tiêu đề: Khai phá dữ liệu
[3]. A. Alashqur, Mining association rules: a database perspective, IJCSNS International Journal of Computer Science and Network Security, 2008 Sách, tạp chí
Tiêu đề: Mining association rules: a database perspective
[4]. Rakesh Agrawal. Tomasz Imielinski, and Arun Swami, Mining association rules between sets of item in large database, In proc of the ACM SIGMOD Conference on Management of Data, Washington, DC, 1993 Sách, tạp chí
Tiêu đề: Mining associationrules between sets of item in large database
[5]. Agrawal, R. and R. Srikant. Fast Algorithms for mining association rules. in 20th Int'l Conference on Very Large Databases (VLDB). 1994 Sách, tạp chí
Tiêu đề: Fast Algorithms for mining association rules
[6]. Mohamed A. Shouman, A Comparative Study of SQL Based Approaches for MiningAssociation Rules over Relational DBMS, 2012 Sách, tạp chí
Tiêu đề: A Comparative Study of SQL Based Approaches forMiningAssociation Rules over Relational DBMS
[7]. P Mishra, Pereformance Evaluation and Analysis of SQL Based Approaches for association rule mining, The University of Texas at arlington, 2003 Sách, tạp chí
Tiêu đề: Pereformance Evaluation and Analysis of SQL Based Approaches forassociation rule mining
[8]. S.Shankar, and T.Purusothaman, Utility sentient frequent itemset mining and association rule mining: A literature survey and comparative study, InternationalJournal of Soft Computing Applications, ISSN: 1453-2277 Issue 4, pp.81-95, 2009 Sách, tạp chí
Tiêu đề: Utility sentient frequent itemset mining andassociation rule mining: A literature survey and comparative study

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Quá trình phát hiện tri thức từ CSDL - Nghiên cứu khai phá luật kết hợp sử dụng SQL”
Hình 1.1 Quá trình phát hiện tri thức từ CSDL (Trang 11)
Hình 1.2 . Mẫu kết hợp với phương pháp cây quyết định b. Tạo luật - Nghiên cứu khai phá luật kết hợp sử dụng SQL”
Hình 1.2 Mẫu kết hợp với phương pháp cây quyết định b. Tạo luật (Trang 16)
Hình 3.1: Thuật toán Apriori Hàm tạo tập ứng cử viên C k  từ F k-1 - Nghiên cứu khai phá luật kết hợp sử dụng SQL”
Hình 3.1 Thuật toán Apriori Hàm tạo tập ứng cử viên C k từ F k-1 (Trang 34)
Hình 3.4: Thực hiện bước cắt tỉa để loại bỏ ứng viên không có lợi - Nghiên cứu khai phá luật kết hợp sử dụng SQL”
Hình 3.4 Thực hiện bước cắt tỉa để loại bỏ ứng viên không có lợi (Trang 40)
Hình 3.5: Tạo và cắt tỉa tập các ứng viên có độ dài k - Nghiên cứu khai phá luật kết hợp sử dụng SQL”
Hình 3.5 Tạo và cắt tỉa tập các ứng viên có độ dài k (Trang 41)
Hình 3.8: Mô hình tính độ hỗ trợ bằng kỹ thuật k- nhánh - Nghiên cứu khai phá luật kết hợp sử dụng SQL”
Hình 3.8 Mô hình tính độ hỗ trợ bằng kỹ thuật k- nhánh (Trang 43)
Hình 3.10: Kỹ thuật gom nhóm bằng SQL - Nghiên cứu khai phá luật kết hợp sử dụng SQL”
Hình 3.10 Kỹ thuật gom nhóm bằng SQL (Trang 43)
Hình 3.11: Mô hình tính độ hỗ trợ bằng kỹ thuật truy vấn lồng - Nghiên cứu khai phá luật kết hợp sử dụng SQL”
Hình 3.11 Mô hình tính độ hỗ trợ bằng kỹ thuật truy vấn lồng (Trang 45)
Bảng 3.2. Bảng “Primary-Rules” - Nghiên cứu khai phá luật kết hợp sử dụng SQL”
Bảng 3.2. Bảng “Primary-Rules” (Trang 46)
Bảng 3.4: Dữ liệu đầu vào - Nghiên cứu khai phá luật kết hợp sử dụng SQL”
Bảng 3.4 Dữ liệu đầu vào (Trang 48)
Bảng 3.6. Bảng “Associate rule” - Nghiên cứu khai phá luật kết hợp sử dụng SQL”
Bảng 3.6. Bảng “Associate rule” (Trang 49)
Bảng 3.5. Bảng &#34;Mô tả&#34; - Nghiên cứu khai phá luật kết hợp sử dụng SQL”
Bảng 3.5. Bảng &#34;Mô tả&#34; (Trang 49)
Bảng A.1: Bảng dữ liệu mua hàng - Nghiên cứu khai phá luật kết hợp sử dụng SQL”
ng A.1: Bảng dữ liệu mua hàng (Trang 50)
Bảng A.4 : Bảng TID_ITEM - Nghiên cứu khai phá luật kết hợp sử dụng SQL”
ng A.4 : Bảng TID_ITEM (Trang 51)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w