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 2 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
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 22
Dung lượng 1,11 MB

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

Nội dung

Sự tăng trưởng vượt bậc của các cơ sở dữ liệu CSDL 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íc

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À 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ố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… không chỉ bằng các phép toán đơn giản thông thường như: phép đếm, thống kê… mà đòi hỏi cách xử lý thông minh hơn, hiệu quả hơn Từ đó các nhà quản lý có được thông tin có ích để tác động lại quá trình sản xuất, kinh doanh của mình… đó là tri thứ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ông tin 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ầnmua đượ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ện nhiề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ợp cá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ứu trọng tâm của tiểu luận.

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ơn 90%

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ácitem - 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 cho luậ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

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 tiên bởi Agrawal vào năm 1993 Tư tưởng

chính của thuật toán Apriori là: Tìm tất cả frequent itemsets, k-itemset (itemsets

gồ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

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ác CSDL 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ởi Jiawei Hai Jian Pei và Yiwen Yin năm 2000, sẽ khắc phục được các nhược điểmnêu trên Thuật toán tìm các frequent itemset hiệu qủa hơn thuật toán Apriori 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à 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

FP-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át triể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ôn chỉ 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

 Mỗi nút của cây bao gồm:

Ngày đăng: 20/04/2023, 14:18

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

TÀI LIỆU LIÊN QUAN

w