BÁO cáo bài tập lớn môn KHAI PHÁ dữ LIỆU đề tài giải thuật FP growth (khai phá luật kết hợp)

18 31 0
Tài liệu đã được kiểm tra trùng lặp
BÁO cáo bài tập lớn môn KHAI PHÁ dữ LIỆU đề tài giải thuật FP growth (khai phá luật kết hợp)

Đ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

Trang 1

TRƯỜNG ĐẠIHỌC GIAOTHÔNG VẬN TẢI

KHOA CÔNG NGHỆTHÔNGTIN

BÁO CÁO BÀI TẬP LỚN MÔNKHAI PHÁ DỮ LIỆU

ĐỀ TÀI: Giải thuật FP-Growth (Khai phá luật kết hợp)

Giảng viên hướng dẫn : Nguyễn Quốc TuấnSinh viên thực hiện : Nguyễn Minh Quân-

Trần Hùng 171201330Trần Tuấn Vũ- 171202729

Trang 2

Tới-Hoàng Vĩnh Tiến- 171210074

Lớp - Khóa

Trang 3

3 Tìm hiểu về thuật toán fp-growth

4.ỨNG DỤNG CỦA FP-TREE TRONG KHAI PHÁ LUẬT KẾT HỢP

5 Triển khai phần mềm trên weka

Trang 4

1 Bài toán phân tích giỏ hàng:

Bài toán khai thác tập phổ biến (frequent itemset) là lớp bài toán rất quan trọng trong lĩnh vực

khai phá dữ liệu Mục tiêu của nó là tìm tất cả các tập mẫu, liên kết, tương quan hoặc cấu trúcnhân quả có độ phổ biến cao trong tập hợp tất cả các hạng mục hoặc đối tượng trong cơ sở dữ liệugiao dịch, cơ sở dữ liệu quan hệ và các kho thông tin dữ liệu khác.

Có bao giờ bạn tự hỏi tại sao các mặt hàng sản phẩm này trong siêu thị lại được xếp cạnh nhau?.Tại sao mặt hàng A lại được xếp ở dưới, mặt hàng B lại được xếp ở trên cao? Tại sao các món đồta cần thường được xếp cạnh nhau trong siêu thị? Đây chính là một phần ứng dụng việc khai phádữ liệu mà cụ thể hơn là khai phá các tập phổ biến!

Bài toán khai thác các tập phổ biến được ứng dụng trong rất nhiều vấn đè, nổi tiếngnhất là Basket data analysis (dự đoán, gợi ý các món hàng thường được cho cùng vàogiỏ hàng với món đồ A đã được chọn mua trước đó).

Nhưng trước khi đi vào khai thác tập phổ biến , ta cần tìm hiểu trước về luật kết hợp Luật kết hợp đóng vai trò giúp ta tìm kiếm được các tập dữ liệu mà có mối liên hệ vớinhau , sau đó có thể dựa vào để tìm được các tập phổ biến.

2 Định nghĩa về luật kết hợp:

2.1 Khái niệm: Luật kết hợp là mối quan hệ kết hợp giữa các tập thuộc tính trong cơ

sở dữ liệu

2.2 Định nghĩa:

Cho I={I1, I2, , Im} là tập hợp của m tính chất riêng biệt Giả sử D là CSDL, với các

(itemset) Tập X gọi là nguyên nhân, tập Y gọi là hệ quả.

2.3 Ví dụ :

Bài toán mua hàng trong siêu thị.

Giả định chúng ta có rất nhiều mặt hàng, ví dụ như “bánh mì”, “sữa”, (coi là tínhchất hoặc trường) Khách hàng khi đi siêu thị sẽ bỏ vào giỏ mua hàng của họ một sốmặt hàng nào đó, và chúng ta muốn tìm hiểu các khách hàng thường mua các mặt hàngnào đồng thời, chúng ta không cần biết khách hàng cụ thể là ai Nhà quản lý dùngnhững thông tin này để điều chỉnh việc nhập hàng về siêu thị, hay đơn giản là để bố trí

Trang 5

sắp xếp các mặt hàng gần nhau, hoặc bán các mặt hàng đó theo một gói hàng, giúpcho

khắc đỡ mất công tìm kiếm.

Luật kết hợp :

Để đi sâu hon vào luật kết hợp , chúng ta cần tìm hiểu về các định nghĩa cơ bản liênquan tới luật kết hợp

2.3.1 Tập mục ( item set) :

❖ Là 1 tập gồm một hoặc nhiều mụcVí dụ: {Milk, Bread, Diaper}

Trang 6

Ví đụ : c(r) = - 'Tk M/pei- j = 2/3 =0.67

2.3.3 Độ tương quan ( Liít) : Độ tương quan hỗ trợ kiểm soát các hệ quả trong khi

tính toán xác suất xuất hiện có điều kiện của X> Y

2.3.4 Tần suất sinh ra các luật đự đoán không chính xác ( Conviction) :

Conviction của luật kết hợp X>Y cho biết tần suất mong muốn X xảy ra mà không

2.3.5 Độ ảnh hưởng ( Leverage) : Leverage của luật kết hợp X> Y dùng để đo lường

sự khác biệt giữa xác suất các trường hợp đồng xuất hiện của X và so với X và Y độc

Trang 7

2.3.6 lập với nhau Nói cách khác , Leverage dùng để đo lường các trường hợpbổ sung bao

gồm X và Y cao hơn so với dự kiến nếu X và Y độc lập với nhau

2.3.7 a{Milk ,Diaper ,Beer]o{Milk ,Diaper ,Beer}

2.3.12 2.3.6 Tập thường xuyên : Tập hợp X được gọi là tập hợp thường xuyên (Frenquent

itemset) nếu có s(X) >minsup, với minsup là ngưỡng độ hỗ trợ cho trước Kí hiệu cáctập này là FI

2.3.13Ví dụ : Xét tập {Bread} , {Bread , Diaper} và minsup = 0.22.3.14I,a({Bread,Diaper }) ,ơ({Bread,Diaper })

2.3.15 l-l ■ l-l ) =3/5=0.6

2.3.16 > 0.2

2.3.17 =>{Bread,Diaper} là tập thường xuyên , mà {Bread} lại là tập

con của {Bread,Diaper} => {Bread} cũng là tập thường xuyên

2.3.18❖ Vì thuật toán fp-growth dựa trên fp-tree nên ta tìm hiểu qua thuật toán fp-tree:

2.3.19- Frequent Pattern Tree (FP-tree) là một cấu trúc cây được tạo bằng các tập phổ biếnban

đầu của cơ sở dữ liệu Mục đích của cây FP là khai thác mẫu thường xuyên nhất Mỗinode của cây FP đại diện cho một mục của tập phổ biến.

2.3.20- Root đại diện cho giá trị rỗng trong khi cá node dưới đại diện cho các tập phổbiến.

2.3.21- Sự liên kết các node với các node thấp hơn là tập phổ biến với tập phổ biến khác trong

khi tạo Fp-tree.

2.3.22❖ Nén một cơ sở dữ liệu lớn thành một cấu trúc Frequent-Pattern tree (FP-tree)2.3.23 -cô đọng cao, nhưng hoàn chỉnh để khai thác mẫu phổ biến

Trang 8

2.3.24 - tránh quét cơ sở dữ liệu tốn kém

2.3.25• Phát triển một phương pháp khai thác mẫu phổ biến dựa trên cây FP-tree hiệu quả

Trang 9

- Phương pháp luận chia để trị: phân rã các nhiệm vụ khai thác thành các nhiệm vụ nhỏ hơn- Tránh tạo ứng viên: chỉ kiểm tra cơ sở dữ liệu con.

2.3.26• Ý tưởng:

- Thuật toán FP-growth do nén toàn bộ CSDL lên một cấu trúc dữ liệu nhỏ hơn là cây FP-treenên tránh được việc duyệt nhiều lần CSDL (thuật toán chỉ duyệt cơ sở dữ liệu 2 lần) Tiếptheo thuật toán khai phá cây bằng cách phát triển dần các mẫu mà không sinh các tập mụcứng viên, do đó tránh được khối lượng tính toán lớn Phương pháp FP- growth đã chứng tỏđược tính hiệu quả của nó và có thể thực hiện khai phá cho cả các mẫu ngắn và dài, nhanhhơn thuật toán Apriori, luôn chỉ cần duyệt CSDL 2 lần.

2.3.27 Thuật toán FP- growth thực hiện như sau: Đầu tiên, thuật toán duyệt CSDL lần thứ nhất để

tính độ hỗ trợ của từng mục (đếm số lần xuất hiện của từng mục).

2.3.28 Tiếp đến, những mục không đủ độ hỗ trợ bị loại Các mục còn lại được sắp theo thứtự giảm

dần của độ hỗ trợ (cũng tức là giảm dần theo số lần xuất hiện trong CSDL), ta nhận đượcdanh sách L các mục đã sắp.

2.3.29 Duyệt CSDL lần thứ hai, với mỗi giao tác t, loại các mục không đủ độ hỗ trợ, các mục còn lại

theo thứ tự giống như xuất hiện trong L (tức là thứ tự giảm dần theo độ hỗ trợ) được cất vàocây FP-tree.

2.3.30 Phần tiếp theo thuật toán khai phá tìm các mẫu thường xuyên trên cây FP-tree đã xây dựng

mà không cần duyệt lại CSDL nữa.

2.3.31❖ Lợi ích của việc sử dụng cấu trúc fp-growth2.3.32> Ưu điểm

- Thuật toán FP - Growth chỉ cần quét cơ sở dữ liệu hai lần trong khi sử dụng thuật toánApriori sẽ phải quét cơ sở dữ liệu cho mỗi lần lặp.

- Thuật toán này không thực hiện việc ghép nối các thành phần với nhau nên làm cho nóthực hiện nhanh hơn.

- Cơ sở dữ liệu được lưu trữ với một phiên bản nhỏ hơn trong bộ nhớ.

- Nó rất hiệu quả và có thể mở rộng để khai thác các frequent pattern dài và ngắn.

Trang 10

4.ỨNG DỤNG CỦA FP-TREE TRONG KHAI PHÁ LUẬT KẾT HỢP

2.3.34 TID 2.3.35 Items2.3.3612.3.37 Bread, milk

2.3.3822.3.39 Bread, Diaper, Beer, Eggs2.3.4032.3.41 Milk, Diaper, Beer, Coke2.3.4242.3.43 Bread, Milk, Diaper, Beer2.3.4452.3.45 Bread, Milk, Diaper, Coke2.3.46

2.3.47 Quay trở lại với bài toán giỏ hàng trong siêu thị Lúc này ta sẽ quy định các sản phẩm

dưới dạng

chữ cái cho dễ dàng phân tích:

2.3.48 Bread : A2.3.49 Milk : B2.3.50 Diaper: C2.3.51 Beer : D2.3.52 Eggs:E2.3.53 Coke:F

2.3.54 Lúc này bảng của chúng ta sẽ thay đổi như sau2.3.55 TID 2.3.56 Items

2.3.5712.3.58 A,B2.3.5922.3.60 A,C,D,E2.3.6132.3.62 B,C,D,F2.3.6342.3.64 A,B,C,D2.3.6552.3.66 A,B,C,F

2.3.67 Đầu tiên chúng ta cần xây dựng FP-Tree:

Trang 11

2.3.68Ban đầu, FP-Tree chỉ chứa duy nhất nút gốc (được biểu diễn bởi ký hiệu null).

2.3.69Cơ sỡ dữ liệu các giao dịch được duyệt lần 1, để xác định độ hỗ trợ của mỗi mục.

2.3.70Cơ dở dữ liệu các giao dịch được duyệt lần thứ 2, để xây dựng FP-Tree.

2.3.71Áp dụng với bài toán trên với minsup=0.4

2.3.72Bước 1: tìm các item mức 1 có sup>= 2 , và sắp xếp theo thứ tự giảm dần

Trang 12

2.3.108 Tiếp theo, duyệt các item phổ biến mức 1 theo thứ tự tăng dần độ hỗ trợ (F,D,C,B,A) Với mỗi

điều kiện (conditional FP-TREE} của nó.

2.3.109Tính chất: bất kì mẫu phổ biến nào có chứa mục Ii đều được chứa trên các nhánh (đường dẫn)

2.3.110 Bắt đầu với item F, cơ sở mẫu điều cơ sở mẫu điều kiện của nó là tất cả các đường dẫn tiền tố

của cây FP-Tree khi duyệt từ gốc root = null đến nút F , chính là ABC:1 và BCD:1 ( số theo saulà số lần xuất hiện của nút F tương ứng với mỗi tổ tiên đó).

2.3.111 Tiếp theo ta xây dựng FP-Tree điều kiện từ mẫu này bằng cách trộn tất cả các đường dẫn và giữ

lại các nút có tổng các số đếm >= sup = 2 ( độ hỗ trợ >= minsup=0.4) :

2.3.112 ABC:1 và BCD:1 trộn lại thành A:1 , B:2 , C:2 , D:1 , có B:2 và C:2 thỏa mãn điều kiện Do đó,

các mẫu phố biến chứa F là : F , BF , CF, BCF.

2.3.113 Làm tương tự cho các item còn lại , ta có thể tìm được các mẫu phổ biến của item đó Cuối cùng

Trang 13

2.3.128 {A:3, B:3}-C

2.3.129 C, AC, BC, ABC

2.3.134

Trang 14

5.Triển khai phần mềm trên weka

2.3.135Giới thiệu về Weka

giải thuật học máy và các công cụ xử lý dữ liệu, được phát triển bằng Java,phân phối dưới giấy phép GNU General Public

2.3.136Mô tả dữ liệu SuperMarket

FP-Growth nhằm xác định các sản phẩm thường xuyên được mua cùng nhau

2.3.137Sử dụng weka khai phá luật kết hợp bằng thuật toán FP-Growth

Trang 15

Bước 2: Quan sát tập dữ liệu, ta được:

2.3.4 - Tổng số sản phẩm bày bán là :4627

2.3.5 Ta tiếp tục chọn tab “Associate” như hình dưới:

2.3.6 Bước 3: Lựa chọn thuật toán FP-Growth và tiến hành thiết lập các thông số trướckhi chạy thuật toán

Trang 16

2.3.183 Chúng ta sẽ quan tâm đến 3 thông số chính

- LowerBoundMinSupport: Cận dưới độ hỗ trợ tối thiệu (miniSup), mặc định là0,1

- MetricType: khai phá luật kết hợp theo độ tin cậy (Coníidence)- minMetric: khai phá luật kết hợp có độ tin cậy từ 0,9 đổ lên

2.3.184Bước 4: Chạy thuật toán trong Weka

2.3.185 Nhấn nút Start để bắt đầu chạy thuật toán FP-Growth Sau khi hoàn tất, ta được kết quả

như bên dưới:

Trang 18

2.3.189Link tài liệu tham khảo:

Ngày đăng: 08/01/2022, 13:01

Hình ảnh liên quan

Lúc này bảng của chúng ta sẽ thay đổi như sau - BÁO cáo bài tập lớn môn KHAI PHÁ dữ LIỆU đề tài giải thuật FP growth (khai phá luật kết hợp)

c.

này bảng của chúng ta sẽ thay đổi như sau Xem tại trang 9 của tài liệu.
4. ỨNG DỤNG CỦA FP-TREE TRONG KHAI PHÁ LUẬT KẾT HỢP - BÁO cáo bài tập lớn môn KHAI PHÁ dữ LIỆU đề tài giải thuật FP growth (khai phá luật kết hợp)

4..

ỨNG DỤNG CỦA FP-TREE TRONG KHAI PHÁ LUẬT KẾT HỢP Xem tại trang 9 của tài liệu.

Mục lục

    1. Bài toán phân tích giỏ hàng:

    2. Định nghĩa về luật kết hợp:

    3. Tìm hiểu về thuật toán fp-growth

    4. ỨNG DỤNG CỦA FP-TREE TRONG KHAI PHÁ LUẬT KẾT HỢP

    5. Triển khai phần mềm trên weka

Tài liệu cùng người dùng

Tài liệu liên quan