Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

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

1.369 Aufrufe

Veröffentlicht am

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

Veröffentlicht in: Bildung
  • Als Erste(r) kommentieren

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

  1. 1. ĐỒ ÁN TỐT NGHIỆPNGHIÊN CỨU LUẬT KẾT HỢP ÁP DỤNGXÂY DỰNG MẠNG CHIA SẺ ĐỒ VẬTMIGIGV Hướng dẫn: ThS.Hoàng Anh ViệtSV Thực hiện: Lê Minh NghĩaLớp : Công Nghệ Phần Mềm K51
  2. 2. NỘI DUNG TRÌNH BÀY1. Đặ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ển2
  3. 3. 1. Đặt vấn đề3
  4. 4. 44
  5. 5. 55
  6. 6. Thống kê690% có thể tái chếNhưng chỉ thựchiện được 15%
  7. 7. Giải pháp77Tôi có mộtcái áo chođiTôi cần một cáiáo!Một môi trường chia sẻCảm ơn!
  8. 8. Vấn đề phát sinh8Ai là người thựcsự cần???Khai phá dữ liệuđể tìm các trithức hữu ích
  9. 9. Các tri thức có thể khai phá được• Tìm ra thói quen chia sẻ đồ vậtVd: 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ường9
  10. 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ệuAdventurework10
  11. 11. 2.Tổng quan về luật kết hợp11Sữa, bánhmỳ, ,ngũ cốcSữa, bánhmỳ, đường, trứngSữa, bánhmỳ, bơĐường, trứngKhánh hàng 2Khánh hàng 3Khánh hàng 4Khánh hàng 5Những mặthàng nàothường đượcđặt mua cùngnhau?
  12. 12. 2.1. Luật kết hợp là gì?• Được sử dụng để tìm các mấy quan hệ giữacá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ửvirus12
  13. 13. Các khái niệm cơ bản13
  14. 14. Giao dịch Các ItemT100 Sữa, bánh mỳ, ngũ cốcT200 Sữa, bánh mỳ, đường, trứngT300 Sữa, bánh mỳ, bơT400 Đường trứng14Items Số lần xuất hiệnTrứng 2Sữa, 3Bánh mỳ 3Ngũ cốc 1Đường 2Bơ 1Các ItemĐộ hỗ trợ- support countCơ 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ệnTập mụcthườngxuyênLuật: Sữa  Bánh mỳ Độ tin cậy- Confidence???
  15. 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_confideneVd:15Min_Confidence=90% Luật chấp nhận được
  16. 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ườngxuyên sẽ là:• Tính tin cậy của luật kết hợp sinh ra.16
  17. 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 Tree17
  18. 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áctập mục K-1B2:Loại bỏ các tập mục ứng viên nếu tồn tại bấtkỳ một tập hợp con nào không phải là tập mụcthường xuyênB3:Kết thúc khi không còn sinh được một tậpmục ứng viên nào là tập mục thường xuyên18
  19. 19. Mô tả thuật toán19
  20. 20. 20Trans ItemsT100 I1, I2, I5T200 I2,I4T300 I2,I3T400 I1,I2,I4T500 I1,I3T600 I2,I3T700 I1,I3T800 I1,I2,I3,I5T900 I1,I2,I3Item Sup.CountI1 6I2 7I3 6I4 2I5 2C1Item Sup.CountI1 6I2 7I3 6I4 2I5 I2MinSup=2L1ItemSet{I1,I2}{I1,I3}{I1,I4}{I1,I5}{I2,I3}{I2,I4}{I2,I5}{I3,I4}{I3,I5}{I4,I5}C2ItemSet 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} 0C2ItemSet Sup.Count{I1,I2} 4{I1,I3} 4{I1,I5} 2{I2,I3} 4{I2,I4} 2{I2,I5} 2L2L1 x L1Cơ sở dữ liệu giao dịch
  21. 21. 21ItemSet Sup.Count{I1,I2} 4{I1,I3} 4{I1,I5} 2{I2,I3} 4{I2,I4} 2{I2,I5} 2L2ItemSet{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 L2SubSet{I1,I3}{I1,I5}{I3,I5} Không thuộc L2L2 x L2ItemSet{I1,I2,I3}{I1,I2,I5}ItemSet Sup.Count{I1,I2,I3} 2{I1,I2,I5} 2C3C3ItemSet Sup.Count{I1,I2,I3} 2{I1,I2,I5} 2L3
  22. 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ử22
  23. 23. 23Trans ItemsT100 I1, I2, I5T200 I2,I4T300 I2,I3T400 I1,I2,I4T500 I1,I3T600 I2,I3T700 I1,I3T800 I1,I2,I3,I5T900 I1,I2,I3Item Sup.CountI1 6I2 7I3 6I4 2I5 I2I1I2 I1I5 I2I4 I2I3 I1I4 I1I3 I1I5 I3I54 2 2 4 1 4 2 1Bảng băm cho tập 2 phần tửL1Quét DBCơ sở dữ liệu giao dịch
  24. 24. Thuật toán PHP2. Loại bỏ các giao dịch- Loại bỏ các giao dịch mà không có đủ k+1tập k-mục- Loại bỏ những mục nào có số lần xuất hiệntrong tập Lk nhỏ hơn k lần.24
  25. 25. 2525Trans ItemsT100 I1, I2, I5T200 I2,I4T300 I2,I3T400 I1,I2,I4T500 I1,I3T600 I2,I3T700 I1,I3T800 I1,I2,I3,I5T900 I1,I2,I3Item Sup.CountI1 6I2 7I3 6I4 2I5 2C1Item Sup.CountI1 6I2 7I3 6I4 2I5 I2MinSup=2L1ItemSet{I1,I2}{I1,I3}{I1,I4}{I1,I5}{I2,I3}{I2,I4}{I2,I5}{I3,I4}{I3,I5}{I4,I5}C2ItemSet 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} 0C2ItemSet Sup.Count{I1,I2} 4{I1,I3} 4{I1,I5} 2{I2,I3} 4{I2,I4} 2{I2,I5} 2L2L1 x L1Cơ sở dữ liệu giao dịchTrans ItemsT800 I1,I2,I3,I5
  26. 26. Đánh giá trên bộ dữ liệu thửK=2 K=3 K=4 K=5 K-6 K=7Transaction 20019 4503 1017 583 237 340500010000150002000025000SốgiáodịchTransaction26
  27. 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ệucây.- Không sinh các ứng viên mà tìm kiếm tập mụcngay 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ịchB2: Tìm kiếm đệ quy trên cây để sinh ra các luậtkết hợp27
  28. 28. Mô tả thuật toán28
  29. 29. 29Item Sup.CountI2 7I1 6I3 6I4 2I5 2NullTrans ItemsT100 I1, I2, I5T200 I2,I4T300 I2,I3T400 I1,I2,I4T500 I1,I3T600 I2,I3T700 I1,I3T800 I1,I2,I3,I5T900 I1,I2,I3T100:I2,I1,I5I2:1I1:1I5:1T200:I2,I4I4:1I2:2Root Node
  30. 30. 30
  31. 31. 31I5 {I2,I1:1},{I2,I1,I3:1}Item Sup.CountI2 2I1 2I3 1Item Sup.CountI2 2I1 2Sufffix Conditional Pattern BaseMin Sup=2{I2,I1:2}{}I2:2I1:2ItemSet Conditional Pattern BaseI5,I1 {I2:2}I5,I2 {}Tập mục thường xuyên 2 phần tửPrefixI5I1I5I1{}I2:2Item Sup.CountI2 2ItemSet Conditional Pattern BaseI5,I1,I2 {}Tập mục thường xuyên 3 phần tử
  32. 32. Kết quả thu được32
  33. 33. So sánh hiệu năng ba thuật toán33Han, 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
  34. 34. 3.1. Kiến trúc tổng thể của hệ thống34Web UIADO.NET EntityRecommenderImage serverCaching ServerBusiness LayerGoogle MapFacebook Database- SQL Server 2008Data AnalysisServicesMobile App
  35. 35. Mô tả các tầng• Tầng WebUI: Sử dụng các côngnghệ: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 Server2008, ADO.NET Entity• Các Service: Sử dụng WCF xây dựng cácservice mở35
  36. 36. Mô tả các tầng• Data Analysis: phân tích dữ liệu nhằm tìm kiếmcác tri thức hữu ích.• Recommender: Dựa trên các tri thức tích lũygợ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ốngmọi nơi36
  37. 37. 3.2 Thiết kế cơ sở dữ liệu37
  38. 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ểnthành:38
  39. 39. 3.4. Xây dựng module gợi ý từ cácluật kết hợpModule 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 khaibáo)• Dữ liệu về chủng loại sản phẩm39
  40. 40. 3.5. Bộ dữ liệu thử nghiệm• Sử dụng bộ dữ liệu bán xe đạpAdventurework do Microsoft cung cấp• Các đặc điểm chính:Tất cả 266 sản phẩm được giao dịchCó 21209 giao dịch có từ hai sản phẩm được muaTrung bình mỗi giao dịch có 5 sản phẩmGiao dịch từ 2 cho tới 21 sản phẩm chiếm: 94.3% sốgiao dịch40
  41. 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 }=>{Mens Sports Shorts, S}{ Mountain-100 Silver, 42 }=>{ Mens SportsShorts, M, Racing Socks, M}{ Mountain-500 Black, 48 , LL Mountain Pedal }=>{ MLMountain Front Wheel }41
  42. 42. 4. Kết luận và hướng phát triển42
  43. 43. 4.1 Các kết quả đạt đượcVề 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ợpVề sản phẩm: Góp phần xây dựng mạng chia sẻ đồ vật với các tínhnă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ệnCá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ợp43
  44. 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ínhtoán song song44
  45. 45. Tài liệu tham khảo• Han, J., Kamber, M., Data Mining: Concepts andTechniques, The MorganKaufmann Series in Data Management Systems• Zaki, M.J., (2000), Generating Non-Redundant AssociationRules, Proceedings of the sixth ACM SIGKDD internationalconference 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.com45
  46. 46. EM XIN CHÂN THÀNH CẢM ƠN!46

×