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

Bài tập lớn kết thúc học phần khai phá dữ liệu đề tài tìm hiểu về association rules

22 4 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 đề Tìm hiểu về Association Rules
Tác giả Phạm Thành Trung, Nguyễn Thị Tâm
Người hướng dẫn Trịnh Thành
Trường học Trường Đại học Phenikaa
Chuyên ngành Khai phá dữ liệu
Thể loại Bài tập lớn kết thúc học phần khai phá dữ liệu
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 22
Dung lượng 518,96 KB

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

Nội dung

TRƯỜNG ĐẠI HỌC PHENIKAA KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP LỚN KẾT THÚC HỌC PHẦN KHAI PHÁ DỮ LIỆU Đề tài "Tìm hiểu về association rules" Học phần Khai phá dữ liệu 1 2 22(N01) Giảng viên Trịnh Thành Sinh[.]

Trang 1

TRƯỜNG ĐẠI HỌC PHENIKAA KHOA CÔNG NGHỆ THÔNG TIN

BÀI TẬP LỚN KẾT THÚC HỌC PHẦN KHAI PHÁ DỮ LIỆU

Đề tài: "Tìm hiểu về association rules"

Học phần : Khai phá dữ liệu-1-2-22(N01)Giảng viên : Trịnh Thành

Sinh viên : Phạm Thành Trung - 21012899

: Nguyễn Thị Tâm - 21012892

HÀ NỘI, THÁNG 4 NĂM 2023

Trang 2

MỤC LỤC

Bảng phân công công việc 2

PHẦN MỞ ĐẦU 3

NỘI DUNG 4

I TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU 4

1 Khái niệm: 4

2 Các kỹ thuật khai phá dữ liệu 4

2.1 Các kỹ thuật tiếp cận trong Data mining 4

2.2 Dạng dữ liệu có thể khai phá 5

2.3 Ứng dụng của khai phá dữ liệu 5

II LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU 6

1 Khai phá luật kết hợp 6

2 Lý thuyết về luật kết hợp 8

III KHAI PHÁ LUẬT KẾT HỢP BẰNG THUẬT TOÁN FREQUENT PATTERN GROWTH 9

1.Thuật toán sinh các luật kết hợp Apriori 9

2 Thuật toán FP-growth 10

2.1 Ý tưởng thuật toán 11

2.2 Thuật toán FP-growth 12

2.3 Thực hành thuật toán FP-growth 13

2.4 Đánh giá thuật toán FP-growth 19

KẾT LUẬN 21

Trang 3

Bảng phân công công việc

Phạm Thành Trung

Nguyễn Thị Tâm

Trang 4

PHẦN MỞ ĐẦU

Trong những năm gần đây, việc nắm bắt được thông tin được coi là cơ sởcủa mọi hoạt động sản xuất, kinh doanh Cá nhân hoặc tổ chức nào thu thậ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ì lý do đó, việc tạo ra thông tin, tổ chức lưu trữ và khai thác ngày càng trở nên quan trọng

và gia tăng không ngừng

Sự tăng trưởng vượt bậc của các cơ sở dữ liệu (CSDL) trong cuộc sốngnhư: thương mại, quản lý và khoa học đã làm nảy sinh và thúc đẩy sự phát triểncủa kỹ thuật thu thập, lưu trữ, phân tích và khai phá dữ liệu… không chỉ bằngcác phép toán đơn giản thông thường như: phép đếm, thống kê… mà đòi hỏicách xử lý thông minh hơn, hiệu quả hơn Từ đó các nhà quản lý có được thôngtin có ích để tác động lại quá trình sản xuất, kinh doanh của mình… đó là trithức Các kỹ thuật cho phép ta khai thác được tri thức hữu dụng từ CSDL (lớn)được gọi là các kỹ thuật khai phá dữ liệu (DM – Data Mining) Khai phá luật kếthợp là một nội dung quan trọng trong khai phá dữ liệu

Khai phá dữ liệu (Data Mining) được coi là quá trình trích xuất các thôngtin có giá trị tiềm ẩn bên trong lượng lớn dữ liệu được lưu trữ trong các CSDL, kho dữ liệu… Hiện nay, ngoài thuật ngữ 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ừ cơ sở dữ liệu (Knowledge Discovery in Database-KDD), trích lọc dữ liệu (knowlegde extraction), phân tích dữ liệu/mẫu (data/pattern analysis), khảo cổ dữ liệu (data archaeology), nạo vét dữ liệu (data dredging)

Tiểu luận trình bày một số vấn đề về khai phá dữ liệu, và trình bày rõ vấn

đề khai phá luật kết hợp và ứng dụng một số thuật toán khai phá luật kết hợp trong CSDL

Trang 5

NỘI DUNG

I TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU

1 Khái niệm:

Khai phá dữ liệu là một khái niệm ra đời vào những năm cuối ở thập kỷ

80 của thế kỷ XX 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, khai phá 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

Năm 1989, Fayyad, Piatestsky-Shapiro và Smyth đã dùng khái niệm khám phátri 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ác tậ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 về 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

Khám 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ột cách tách bạch thì khai phá dữ liệu là một bước chính trong quá trình KDD

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

2.1 Các kỹ thuật tiếp cận trong Data mining

Căn cứ vào lớp các bài toán cần giải quyết, khai phá dữ liệu có các kỹthuật áp dụng sau:

Phân lớp và dự đoán: xếp một đối tượng vào một trong những lớp đã biết

trước Ví dụ: phân lớp các bệnh nhân dữ liệu trong hồ sơ bệnh án Hướng tiếp

Trang 6

cận này thường sử dụng một số kỹ thuật của học máy như cây quyết định,

mạng nơ ron nhân tạo

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 CSDL Mẫu đầu ra của giải thuật khai phá dữ liệu

là tập luật kết hợp tìm được Có thể lấy một ví dụ đơn giản về luật kết hợp như sau: phân tích CSDL bán hàng nhận được thông tin về những khách hàng mua máy tính cũng có khuynh hướng mua phần mềm quản lý tài chính trong cùng lần mua được miêu tả trong luật kết hợp sau:

“Mua máy tính Mua phần mềm quản lý tài chính”

[Độ hỗ trợ: 4%, độ tin cậy: 70%]

Độ hỗ trợ và độ tin cậy là hai độ đo của sự đáng quan tâm của luật Chúngtương ứng phản ánh sự hữu ích và sự chắc chắn của luật đã khám phá Độ hỗ trợ4% có nghĩa là: 4% của tất cả các tác vụ đã phân tích chỉ ra rằng máy tính và phần mềm quản lý tài chính là đã được mua cùng nhau Còn độ tin cậy 70% có nghĩa là 70% các khách hàng mua máy tính cũng mua phân mềm quản lý tài chính

Phân tích chuỗi theo thời gian: Tượng tự như khai phá luật kết hợp nhưng

có thêm tính thứ tự và tính thời gian Hướng tiếp cận này được ứng dụng nhiều trong lĩnh vực tài chính và thị trường chứng khoán vì nó có tính dự báo cao Phân cụm: xếp các đối tượng theo từng cụm dữ liệu tự nhiên

Mô tả khái niệm: thiên về mô tả, tổng hợp và tóm tắt khái niệm Ví dụ:tóm tắt văn bản

2.2 Dạng dữ liệu có thể khai phá

Do Data Mining được ứng dụng rộng rãi nên nó có thể làm việc với rất nhiều kiểu dữ liệu khác nhau Sau đây là một số dạng dữ liệu điển hình: CSDL quan hệ, CSDL đa chiều (multidimentional structures, data warehouses), CSDL dạng giao dịch, CSDL quan hệ-hướng đối tượng, dữ liệu không gian và thời gian,

Dữ liệu chuỗi thời gian, CSDL đa phương tiện, dữ liệu Text và Web

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

Trang 7

Khai phá dữ liệu là một lĩnh vực được quan tâm và ứng dụng rộng rãi Một số ứng dụng điển hình trong khai phá dữ liệu có thể liệt kê: 1) phân tích dữliệu và hỗ trợ ra quyết định; 2) điều trị y học; 3) phát hiện văn bản; 4) tin sinh học; 5) tài chính và thị trường chứng khoán; 6) bảo hiểm

II LUẬT KẾT HỢP TRONG KHAI PHÁ DỮ LIỆU

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

Khai phá luật kết hợp (Association Rule Mining) là một kĩ thuật khai phá

dữ liệu được sử dụng để tìm kiếm các quy luật kết hợp giữa các mục trong một tập dữ liệu lớn Kĩ thuật này thường được áp dụng trong lĩnh vực phân tích dữ liệu và khai thác dữ liệu để giúp phát hiện ra các mối quan hệ ẩn giữa các mục trong tập dữ liệu, từ đó đưa ra những quyết định hoặc đề xuất cho người sử dụng

Quá trình khai phá luật kết hợp:

Dữ liệu gốc (Raw

data) Tiền xử lí dữ liệu

Tìm được các mẫu , loại, phần tử (được quan tâm nhiều)

Khai phá tìm ra các mối quan hệ giữa chúng (gọi là các luật)

Sau đấy xử lý để đưa ra các luật, ứng dụng cho người dùng

Mục đích chính của khai phá luật kết hợp: Tìm các mẫu (hàng) xuất hiệnnhiều, các liên quan, tương quan hoặc là các cấu trúc hệ quả trong các tập hợpcác mẫu hoặc các đối tượng trong CSDL (chủ yếu về giao dịch)

Trang 8

Như vậy, khai phá luật kết hợp là một phương pháp xử lý thông tin

quan trọng và phổ biến, nó nhằm khám phá mối liên hệ giữa các mẫu dữ liệu Tiếp theo, tiểu luận sẽ đề cập đến luật kết hợp Đây là một hướng nghiên cứu quan trọng trong lĩnh vực khai phá dữ liệu và là nội dung tìm hiểu, nghiên cứutrọng tâm của tiểu luận

Ứng dụng khai phá luật kết hợp:

Trong hoạt động sản xuất kinh doanh, ví dụ kinh doanh các mặt hàng tại siêu thị, các nhà quản lý rất thích có được 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ồ Thuỵ 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 mualoại TV 21 inches” Những thông tin như vậy rất hữu ích trong 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 là 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 CSDL D 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 S nào đó trong các bản ghi của D sẽ kéo theo

sự xuất hiện của một tập những mục U cũng trong những bản ghi đó Mỗi luật kết hợp được đặc trưng bởi một cặp tỉ lệ Mỗi tỉ lệ hỗ trợ được biểu diễn bằng tỉ

lệ % những bản ghi trong D chứa cả S và U

Vấn đề khám phá luật kết hợp được phát biểu như sau: Cho trước tỉ lệ hỗtrợ và độ tin cậy Đánh số tất cả các luật trong D có các giá trị tỉ lệ hỗ trợ vàtin cậy lớn hơn và tương ứng

Giả thiết D là CSDL giao dịch và với = 40%, = 90% Vấn đề phát

hiện luật kết hợp được thực hiện như sau:

Liệt kê, đếm tất cả những qui luật chỉ ra sự xuất hiện một số các mục sẽkéo theo một số mục khác

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

Trang 9

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êu cầ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ách hàng nữ là công nhân đặt mua mặt hàng gì đó, ví dụ áo dài chẳng hạn là nhiều nhất, thoả mãn một ngưỡng nào đó ?

2 Lý thuyết về luật kết hợp

Luật kết hợp là một biểu thức có dạng: X Y, trong đó X và Y là tập các trường gọi là item Ý nghĩa của các luật kết hợp khá dễ nhận thấy: Cho trước một cơ sở dữ liệu có D là tập các giao tác - trong đó mỗi giao tác T D là tập các item - khi đó X Y diễn đạt ý nghĩa rằng bất cứ khi nào giao tác T có chứa X thì chắc chắn T có chứa Y Độ tin cậy của luật (rule confidence) có thể được hiểu như xác suất điều kiện p(Y T X T) Ý tưởng của việc khai thác các luật kết hợp

có nguồn gốc từ việc phân tích dữ liệu mua hàng của khách và nhận ra rằng

“Một khách hàng mua mặt hàng X1 và X2 thì sẽ mua mặt hàng Y với xác suất là c%” Ứng dụng trực tiếp của các luật này trong các bài toán kinh doanh làm choluật kết hợp trở thành một phương pháp khai thác phổ biến Hơn nữa, luật kết hợp không chỉ bị giới hạn trong phân tích sự phụ thuộc lẫn nhau trong phạm vi các ứng dụng bán lẻ mà chúng còn được áp dụng thành công trong rất nhiều bài toán kinh doanh

Một số khái niệm về luật kết hợp:

- Item: Phần tử, mẫu, loại

- Itemset: Tập các phần tử

- Transaction:1 giao dịch

- Association( Sự kết hợp): Các phần tử cùng xuất hiện với nhau trong một

8

Trang 10

hay nhiều giao dịch Thể hiện mối

liên hệ giữa các phần tử/các tập

phần tử

- Association rules(Luật kết hợp) : qui tắc kết hợp có điều kiện giữa các tập

phần tử Thể hiện mối liên hệ (có điều kiện) giữa các tập phần tử.

- Support (độ hỗ trợ/ Ủng hộ): trong bao nhiêu phần trăm dữ liệu thì những điều

ở vế trái và vế phải cùng xảy ra

Chú ý : I có thể là 1 hoặc nhiều items

Ví dụ: I = A; Hoặc I là A và B

- Confidence (độ tin cậy): Nếu vế trái xảy ra thì có bao nhiêu khả năng vế phải xảy ra

- Frequent itemset (tập phần tử phổ biến – thường xuyên):

Tìm một tập các mẫu (loại) - itemsets: Những itemset xuất hiện nhiều

hơn ngưỡng Một tập con của một tập mẫu xuất hiện nhiều ( frequent itemset)

cũng là một tập mẫu xuất hiện nhiều ( frequent itemset) vd: Nếu {A, B} là một tập frequent itemsets thì {A} và {B} cũng là những tập itemsets Lặp lại tìm kiếm các tập mẫu xuất hiện nhiều lặp lại từ 1 K (K- itemset) Sử dụng mẫu này

Trang 11

Apriori được giơi thiẹu lân đâu tien bơi Agrawal vào năm 1993 Tư tưởngchính của thuật toán Apriori là: Tìm tất cả frequent itemsets, k-itemset (itemsetsgồm k items) được dùng để tìm (k+1)-itemset.

Từ frequent itemsets sinh ra các luật kết hợp mạnh (các luật kết hợp thỏa mãn 2 tham số min_sup và min_conf)

Bước 3: Lặp lại từ bước 2 cho đến khi không tìm thấy frequent itemsets

Bước 4: Với mỗi frequent itemset I, sinh tất cả các tập con s không rỗng của I

Bước 5: Với mỗi tập con s không rỗng của I, sinh ra các luật s => (I-s) nếu độ tin cậy

(Confidence) của nó >= min_conf

Nhận xét: Thuật toán Apriori với n là độ dài lớn nhất của tập được sinh ra.

Vậy thì thuật toán sẽ scan database n+1 lần Như vậy, nếu bỏ qua thời gian so

sánh tìm sự xuất hiện của một itemset thì độ phức tạp của thuật toán Apriori là

O(n*L) trong đó L là kích thước CSDL còn n là độ dài cần đạt được của các

mẫu

Ngoài ra, nếu min_sup bị thay đổi thì thuật toán sẽ phải thực hiện lại

từ đầu, điều này sẽ rất mất thời gian

2 Thuật toán FP-growth

Trang 12

2.1 Ý tưởng thuật toán

Trong tình huống mà số lượng các mẫu nhiều, mẫu dài hoặc min_sup vàmin_conf thấp, các thuật toán Apriori gặp phải 2 chi phí lớn:

Chi phí cho số lượng khổng lồ các tập ứng cử Ví dụ: nếu có 104 tập 1-itemset thì thuật toán Apriori sẽ cần sinh ra hơn 107 các ứng cử 2-itemset và kiểm tra sựxuất hiện của chúng Hơn nữa, để khám phá được một frequent itemset kích thước L, thuật toán phải kiểm tra (2L - 2 ) các frequent itemset tiềm năng Ví dụ

L = 100, chẳng hạn là {a1,a2, ,a100}, nó phải sinh ra tổng số 2100 1030 các ứng

cử (đây chính là số tập con của tập có 100 phần tử)

Duyệt CSDL quá nhiều lần để kiểm tra tập rất lớn các ứng cử Số lần duyệt CSDL của thuật toán Apriori bằng độ dài của frequent itemset dài nhất tìm được Trong trường hợp mẫu phổ biến dài hơn và CSDL lớn, có nhiều bản ghi,điều này là không thể thực hiện được Thuật toán Apriori chỉ thích hợp cho cácCSDL thưa (sparse), với các CSDL dày (dense) thì thuật toán thực hiện kém hiệu quả hơn Ngoài ra chi phí để lưu trữ cũng là rất lớn

Thuật toán mới xuất hiện gần đây có tên là FP-growth được giới thiệu bởiJiawei Hai Jian Pei và Yiwen Yin năm 2000, sẽ khắc phục được các nhượcđiểm nêu trên Thuật toán tìm các frequent itemset hiệu qủa hơn thuật toánApriori bằng việc sử dụng một kỹ thuật khác không cần sinh các ứng cử Sựhiệu quả của khai phá nhận được với 3 kỹ thuật chính:

Thứ nhất, cây mẫu phổ biến (frequent pattern tree hoặc gọi tắt là

FP-tree) dùng để nén dữ liệu thích hợp Chỉ có các l-item ở trong cây và các nút

của cây được sắp đặt để các nút xuất hiện thường xuyên hơn có thể dễ dàng chia

sẻ với các nút xuất hiện ít hơn CSDL lớn được nén chặt tới cấu trúc dữ liệu nhỏhơn (FP-tree), tránh được chi phí lặp lại duyệt qua CSDL

Thứ hai, phương pháp khai phá phát triển (growth) từng đoạn dựa trên

Fp-tree gọi là phương pháp FP – growth đã được thực hiện Bắt đầu từ mẫu phổ biến

độ dài 1, FP-growth chỉ xem xét cơ sở mẫu phụ thuộc của nó (condition pattern base) như là CSDL con (sub-database) bao gồm tập các mục phổ biến

Trang 13

cùng xuất hiện với mẫu hậu tố (suffix pattern), xây dựng condition FP-tree tương ứng của nó và thực hiện khai phá đệ qui trên cây này Mẫu phát triển nhận được qua việc nối mẫu hậu tố (suffix pattern) với một đoạn mẫu được sinh

ra từ condition FP-tree Khai phá dựa trên FP-tree được thực hiện theo cách pháttriển (growth) các đoạn mẫu để tránh chi phí cho việc sinh ra số lượng lớn các tập ứng cử

Thứ ba, kỹ thuật tìm kiếm được dùng ở đây là dựa vào sự phân chia và chế ngự (divide-and-conquer method) để phân rã nhiệm vụ khai phá thành tập

các nhiệm vụ nhỏ hơn với giới hạn các mẫu trong các CSDL nhằm thu gọn không gian tìm kiếm

Phương pháp FP-growth đã chứng tỏ được tính hiệu quả của nó và thểhiện khai phá cho cả các mẫu ngắn và dài, nhanh hơn thuật toán Apriori, luônchỉ cần duyệt CSDL 2 lần

2.2 Thuật toán FP-growth

Bước 3: Duyệt CSDL lần thứ 2, với mỗi giao dịch T, giữ lại các item có trong danh sách L, sắp xếp các item theo thứ tự giảm dần theo độ hỗ trợ.

Bước 4: Xây dựng cây FP-tree bằng cách đưa từng giao dịch T vào trong cây.

Phần tiếp theo thuật toán khai phá tìm các frenquent itemset trên cây FP-tree đãxây dựng mà không cần duyệt lại CSDL nữa

Cấu trúc cây FP-tree:

Root của cây

Header_table: một bảng băm lưu lại các node cuối cùng trên mỗi đường

đi từ root đến nút có tên bằng item

Ngày đăng: 25/04/2023, 09:35

HÌNH ẢNH LIÊN QUAN

Bảng phân công công việc - Bài tập lớn kết thúc học phần khai phá dữ liệu đề tài tìm hiểu về association rules
Bảng ph ân công công việc (Trang 3)

TỪ KHÓA LIÊN QUAN

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