46
ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU LUẬT KẾT HỢP ÁP DỤNG XÂY DỰNG MẠNG CHIA SẺ ĐỒ VẬT MIGI GV Hướng dẫn: ThS.Hoàng Anh Việt SV Thực hiện: Lê Minh Nghĩa Lớp : Công Nghệ Phần Mềm K51

Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

Embed Size (px)

DESCRIPTION

Xây dựng hệ gợi ý dựa trên thuật toán Apriori http://www.doko.vn/

Citation preview

Page 1: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

ĐỒ ÁN TỐT NGHIỆP

NGHIÊN CỨU LUẬT KẾT HỢP ÁP DỤNG XÂY DỰNG MẠNG

CHIA SẺ ĐỒ VẬT MIGI

GV Hướng dẫn: ThS.Hoàng Anh ViệtSV Thực hiện: Lê Minh Nghĩa

Lớp : Công Nghệ Phần Mềm K51

Page 2: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

NỘI DUNG TRÌNH BÀY

1. Đặt vấn đề2. Các kiến thức liên quan3. Xây dựng giải pháp4. Thử nghiệm và đánh giá5. Kết luận và hướng phát triển

2

Page 3: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

3

1. Đặt vấn đề

Page 4: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

44

Page 5: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

55

Page 6: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

6

Thống kê

90% có thể tái chế

Nhưng chỉ thực hiện được 15%

Page 7: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

7

Giải pháp

7

Tôi có một cái áo cho đi

Tôi cần một cái áo!

Một môi trường chia sẻ

Cảm ơn!

Page 8: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

8

Vấn đề phát sinh

Ai là người thực sự cần???

Khai phá dữ liệu để tìm các tri thức hữu ích

Page 9: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

9

Các tri thức có thể khai phá được

• Tìm ra thói quen chia sẻ đồ vật Vd: cho điện thoại cũ => cho kèm bộ sạc

điện• Phân tích sở thích người dùng• Điều tra thị trường

Page 10: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

10

Mục tiêu đồ án

• Xây dựng mạng xã hội chia sẻ đồ vật Migi• Nghiên cứu lý thuyết Datamining, trong đó

tập trung về luật kết hợp• Đề xuất mô hình gợi ý dựa trên luật kết hợp• Thử nghiệm tìm luật kết hợp trên bộ dữ liệu

Adventurework

Page 11: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

11

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

Sữa, bánh mỳ, ,ngũ cốc

Sữa, bánh mỳ, đường, trứng

Sữa, bánh mỳ, bơ

Đường, trứng

Khánh hàng 2

Khánh hàng 3

Khánh hàng 4

Khánh hàng 5

Những mặt hàng nào

thường được đặt mua cùng

nhau?

Page 12: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

12

2.1. Luật kết hợp là gì?

• Được sử dụng để tìm các mấy quan hệ giữa các đối tượng trong một giao dịch.

Vd:- Mua sữa thì thường mua bánh mỳ- Mua bánh mỳ thì thường mua bơ- Người mua máy tính thì thường mua phần tử

virus

Page 13: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

13

Các khái niệm cơ bản

Page 14: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

14

Giao dịch Các Item

T100 Sữa, bánh mỳ, ngũ cốc

T200 Sữa, bánh mỳ, đường, trứng

T300 Sữa, bánh mỳ, bơ

T400 Đường trứng

Items Số lần xuất hiện

Trứng 2

Sữa, 3

Bánh mỳ 3

Ngũ cốc 1

Đường 2

Bơ 1

Các Item Độ hỗ trợ- support count

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

Độ hỗ trợ tối thiểu: min_sup=2Tập 2 mục

{Sữa, Bánh mỳ} SupportCount=3>min_supSố lần xuất hiện

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

Luật: Sữa Bánh mỳ Độ tin cậy- Confidence???

Page 15: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

15

Độ tin cậy của luật kết hợp

• Luật A=> B chấp nhận nếu:

confidence (A=>B) > min_confidene

Vd:

Min_Confidence=90% Luật chấp nhận được

Page 16: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

16

Khó khăn của thuật toán

• Độ phức tạp và thời gian tính toán.

Vd: với tập mục thường xuyên có 100 phần tử. Thì tổng số tập mục con là tập mục thường xuyên sẽ là:

• Tính tin cậy của luật kết hợp sinh ra.

Page 17: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

17

2.3. Các thuật toán cơ bản

• Thuật toán Apriori• Thuật toán PHP- Perfect Hashing and Pruning• Thuật toán FP Tree

Page 18: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

18

Thuật toán Apriori

• Mục đích: Tìm kiếm các tập múc thường xuyên• Các bước:

B1:Sinh các tập mục ứng viên K phần tử từ các tập mục K-1

B2:Loại bỏ các tập mục ứng viên nếu tồn tại bất kỳ một tập hợp con nào không phải là tập mục thường xuyên

B3:Kết thúc khi không còn sinh được một tập mục ứng viên nào là tập mục thường xuyên

Page 19: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

19

Mô tả thuật toán

Page 20: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

20

Trans Items

T100 I1, I2, I5T200 I2,I4T300 I2,I3

T400 I1,I2,I4

T500 I1,I3

T600 I2,I3

T700 I1,I3

T800 I1,I2,I3,I5

T900 I1,I2,I3

Item Sup.Count

I1 6

I2 7

I3 6

I4 2

I5 2

C1

Item Sup.Count

I1 6

I2 7

I3 6

I4 2

I5 I2

MinSup=2

L1ItemSet

{I1,I2}

{I1,I3}

{I1,I4}

{I1,I5}

{I2,I3}

{I2,I4}

{I2,I5}

{I3,I4}

{I3,I5}

{I4,I5}

C2

ItemSet Sup.Count

{I1,I2} 4

{I1,I3} 4

{I1,I4} 1

{I1,I5} 2

{I2,I3} 4

{I2,I4} 2

{I2,I5} 2

{I3,I4} 0

{I3,I5} 1

{I4,I5} 0

C2

ItemSet Sup.Count

{I1,I2} 4

{I1,I3} 4

{I1,I5} 2

{I2,I3} 4

{I2,I4} 2

{I2,I5} 2

L2

L1 x L1

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

Page 21: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

21

ItemSet Sup.Count

{I1,I2} 4{I1,I3} 4{I1,I5} 2

{I2,I3} 4

{I2,I4} 2

{I2,I5} 2

L2

ItemSet

{I1,I2,I3}

{I1,I2,I5}

{I1,I3,I5}

{I2,I3,I4}

{I2,I3,I5}

{I2,I4,I5}

C3 SubSet

{I1,I2}

{I1,I3}

{I2,I3}

Thuộc L2

SubSet

{I1,I3}

{I1,I5}

{I3,I5} Không thuộc L2

L2 x L2

ItemSet

{I1,I2,I3}

{I1,I2,I5}

ItemSet Sup.Count

{I1,I2,I3} 2

{I1,I2,I5} 2

C3C3

ItemSet Sup.Count

{I1,I2,I3} 2

{I1,I2,I5} 2

L3

Page 22: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

22

2.3.2.Thuật toán PHP

• Cải tiến từ thuật toán Apriori:

1. Sử dụng cấu trúc bảng băm:

- Lưu trữ độ hỗ trợ của các tập mục 2 phần tử

Page 23: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

23

Trans Items

T100 I1, I2, I5T200 I2,I4T300 I2,I3

T400 I1,I2,I4

T500 I1,I3

T600 I2,I3

T700 I1,I3

T800 I1,I2,I3,I5

T900 I1,I2,I3

Item Sup.Count

I1 6

I2 7

I3 6

I4 2

I5 I2

I1I2 I1I5 I2I4 I2I3 I1I4 I1I3 I1I5 I3I5

4 2 2 4 1 4 2 1

Bảng băm cho tập 2 phần tử

L1

Quét DB

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

Page 24: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

24

Thuật toán PHP

2. Loại bỏ các giao dịch

- Loại bỏ các giao dịch mà không có đủ k+1 tập k-mục

- Loại bỏ những mục nào có số lần xuất hiện trong tập Lk nhỏ hơn k lần.

Page 25: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

2525

Trans Items

T100 I1, I2, I5T200 I2,I4T300 I2,I3

T400 I1,I2,I4

T500 I1,I3

T600 I2,I3

T700 I1,I3

T800 I1,I2,I3,I5

T900 I1,I2,I3

Item Sup.Count

I1 6

I2 7

I3 6

I4 2

I5 2

C1

Item Sup.Count

I1 6

I2 7

I3 6

I4 2

I5 I2

MinSup=2

L1ItemSet

{I1,I2}

{I1,I3}

{I1,I4}

{I1,I5}

{I2,I3}

{I2,I4}

{I2,I5}

{I3,I4}

{I3,I5}

{I4,I5}

C2

ItemSet Sup.Count

{I1,I2} 4

{I1,I3} 4

{I1,I4} 1

{I1,I5} 2

{I2,I3} 4

{I2,I4} 2

{I2,I5} 2

{I3,I4} 0

{I3,I5} 1

{I4,I5} 0

C2

ItemSet Sup.Count

{I1,I2} 4

{I1,I3} 4

{I1,I5} 2

{I2,I3} 4

{I2,I4} 2

{I2,I5} 2

L2

L1 x L1

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

Trans Items

T800 I1,I2,I3,I5

Page 26: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

26

Đánh giá trên bộ dữ liệu thử

K=2 K=3 K=4 K=5 K-6 K=7

Transaction 20019 4503 1017 583 237 34

2500

7500

12500

17500

22500

Transaction

Số g

iáo

dịch

Page 27: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

27

2.3.3.Thuật toán FP Tree

• Mục đích:

- Biểu diễn các giao dịch bằng cấu trúc dữ liệu cây.

- Không sinh các ứng viên mà tìm kiếm tập mục ngay trên cây.

• Các bước của thuật toán:

B1: Xây dựng cây biểu diễn các giao dịch

B2: Tìm kiếm đệ quy trên cây để sinh ra các luật kết hợp

Page 28: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

28

Mô tả thuật toán

Page 29: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

29

Item Sup.Count

I2 7

I1 6

I3 6

I4 2

I5 2

NullTrans Items

T100 I1, I2, I5T200 I2,I4T300 I2,I3

T400 I1,I2,I4

T500 I1,I3

T600 I2,I3

T700 I1,I3

T800 I1,I2,I3,I5

T900 I1,I2,I3

T100:I2,I1,I5

I2:1

I1:1

I5:1

T200:I2,I4

I4:1

I2:2

Root Node

Page 30: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

30

Page 31: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

31

I5 {I2,I1:1},{I2,I1,I3:1}Item Sup.Count

I2 2

I1 2

I3 1

Item Sup.Count

I2 2

I1 2

Sufffix Conditional Pattern Base

Min Sup=2

{I2,I1:2}

{}

I2:2

I1:2

ItemSet Conditional Pattern Base

I5,I1 {I2:2}

I5,I2 {}

Tập mục thường xuyên 2 phần tử

Prefix

I5I1

I5I1

{}

I2:2

Item Sup.Count

I2 2

ItemSet Conditional Pattern Base

I5,I1,I2 {}

Tập mục thường xuyên 3 phần tử

Page 32: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

32

Kết quả thu được

Page 33: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

33

So sánh hiệu năng ba thuật toán

Han, J., Pei, J., Yin, J., (2000), Mining Frequent Patterns without CandidateGeneration, Proceedings of the 2000 ACM SIGMOD international conference onManagement of data, pp. 1-12

Page 34: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

34

3.1. Kiến trúc tổng thể của hệ thống

Web UI

ADO.NET Entity

RecommenderImage serverCaching Server

Business LayerGoogle MapFacebook Database- SQL Server 2008

Data Analysis

ServicesMobile App

Page 35: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

35

Mô tả các tầng

• Tầng WebUI: Sử dụng các công nghệ:ASP.NET MVC, JQuery, Google Map

• Tầng Business: Tầng này chưa toàn bộ nghiệp vụ của hệ thống.

• Tầng Data: Sử dụng SQL Server 2008, ADO.NET Entity

• Các Service: Sử dụng WCF xây dựng các service mở

Page 36: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

36

Mô tả các tầng

• Data Analysis: phân tích dữ liệu nhằm tìm kiếm các tri thức hữu ích.

• Recommender: Dựa trên các tri thức tích lũy gợi ý cho người dùng

• Image Server: Quản lý việc hiện thị ảnh cho site• Caching Server: Để tăng tốc độ của web site• Ứng dụng facebook: Truy cấp hệ thống từ Facebook• Ứng dụng Mobile: Cho phép truy cấp hệ thống mọi

nơi

Page 37: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

37

3.2 Thiết kế cơ sở dữ liệu

Page 38: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

38

3.3.Cơ sở dữ liệu cho việc phân tích

• Dữ liệu sau khi được tiền xử lý chuyển thành:

Page 39: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

39

3.4. Xây dựng module gợi ý từ các luật kết hợp

Module gợi ý được xây dưng dựa trên:• Các luật kết hợp• Dữ liệu về địa điểm người dùng (đã được

khai báo)• Dữ liệu về chủng loại sản phẩm

Page 40: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

40

3.5. Bộ dữ liệu thử nghiệm

• Sử dụng bộ dữ liệu bán xe đạp Adventurework do Microsoft cung cấp

• Các đặc điểm chính:

Tất cả 266 sản phẩm được giao dịch

Có 21209 giao dịch có từ hai sản phẩm được mua

Trung bình mỗi giao dịch có 5 sản phẩm

Giao dịch từ 2 cho tới 21 sản phẩm chiếm: 94.3% số giao dịch

Page 41: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

41

Một số luật khai thác được

{Mountain-100 Black, 44}=>{Half-Finger Gloves, M} {Mountain-100 Silver, 42}=>{ Half-Finger Gloves, M } { Mountain-100 Silver, 42}=>{ LL Road Handlebars } { Mountain-100 Silver, 42, Half-Finger Gloves, M }=>{

Men's Sports Shorts, S} { Mountain-100 Silver, 42 }=>{ Men's Sports Shorts,

M, Racing Socks, M} { Mountain-500 Black, 48 , LL Mountain

Pedal }=>{ ML Mountain Front Wheel }

Page 42: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

42

4. Kết luận và hướng phát triển

Page 43: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

43

4.1 Các kết quả đạt được

Về nghiên cứu:- Các kiến thức tổng quát về Data Mining- Lý thuyết về luật kết hợp- Các thuật toán cơ bản để khai phá luật kết hợp

Về sản phẩm: Góp phần xây dựng mạng chia sẻ đồ vật với các tính năng chính:

- Cho phép người dùng đưa thông tin chia sẻ đồ vật- Gợi ý người dùng khi chia sẻ đồ vật- Cho phép các tổ chức khởi tạo các sự kiện từ thiện

Các đóng góp:

- Đề xuất được mô hình phân tích dữ liệu dựa trên luật kết hợp

Page 44: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

44

4.2 Hướng phát triển

• Hoàn thiện các tính năng chia sẻ• Xây dựng hệ thống có khả năng chịu tải cao• Tăng cường tính bảo mật• Hoàn thiện quy trình trích rút và chuẩn hóa

dữ liệu• Áp dụng các mô hình xử lý dữ liệu phân tán• Nghiên cứu luật kết hợp trên môi trường tính

toán song song

Page 45: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

45

Tài liệu tham khảo

• Han, J., Kamber, M., Data Mining: Concepts and Techniques, The Morgan

Kaufmann Series in Data Management Systems• Zaki, M.J., (2000), Generating Non-Redundant Association Rules,

Proceedings of the sixth ACM SIGKDD international conference on Knowledge discovery and data mining, pp. 34 – 43.

• Website: http://www.msdn.com• Website: http://www.jquery.com• Website: http://www.asp.net/mvc• Website: http://www.facebook.com/developer• Website:http://code.google.com

Page 46: Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật MiGi

46

EM XIN CHÂN THÀNH CẢM ƠN!