Nghiên cứu luật kết hợp áp dụng xây dựng mạng chia sẻ đồ vật migi, báo cáo đồ án tốt nghiệp hay dành chi sinh viên chuyên ngành công nghệ thông tin , giúp các abjn làm báo cáo hiệu quả áp dụng xây dựng mạng
Trang 1ĐỒ Á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
Trang 2NỘI DUNG TRÌNH BÀY
Trang 31 Đặt vấn đề
Trang 6Thống kê
90% có thể tái chế
Nhưng chỉ thực hiện được 15%
Trang 7Giải pháp
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!
Trang 9Cá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
Trang 10Mụ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
Trang 112.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ơ
Trang 122.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
Trang 13Các khái niệm cơ bản
Trang 14Các Item Độ hỗ trợ- support count
Cơ sở dữ liệu giao dịch
Độ hỗ trợ tối thiểu: min_sup=2 Tập 2 mục
{Sữa, Bánh mỳ} SupportCount=3>min_sup
Số lần xuất hiện
Tập mục thường xuyên
Trang 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
Trang 16Khó 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.
Trang 172.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
Trang 18Thuậ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
Trang 19Mô tả thuật toán
Trang 20I2 7I3 6I4 2I5 2
C1
Item Sup.CountI1 6
I2 7I3 6I4 2I5 I2
MinSup=2
L1
ItemSet{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
Trang 21{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
C3
C3
ItemSet Sup.Count{I1,I2,I3} 2
{I1,I2,I5} 2
L3
Trang 222.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ử
Trang 23I2 7I3 6I4 2I5 I2
I1I2 I1I5 I2I4 I2I3 I1I4 I1I3 I1I5 I3I5
Trang 25I2 7I3 6I4 2I5 2
C1
Item Sup.CountI1 6
I2 7I3 6I4 2I5 I2
MinSup=2
L1
ItemSet{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
Trang 26Đánh giá trên bộ dữ liệu thử
0 5000
Trang 272.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
Trang 28Mô tả thuật toán
Trang 29Item Sup.CountI2 7
I1 6I3 6I4 2I5 2
NullTrans Items
Root Node
Trang 31I5 {I2,I1:1},{I2,I1,I3:1}
Item Sup.CountI2 2
I1 2I3 1
ItemSet Conditional Pattern BaseI5,I1,I2 {}
Tập mục thường xuyên 3 phần tử
Trang 32Kết quả thu được
Trang 33So 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
Trang 34Mobile App
Trang 35Mô 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ộ
Trang 36• 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
Trang 373.2 Thiết kế cơ sở dữ liệu
Trang 383.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:
Trang 393.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
Trang 40Có 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
Trang 41Mộ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 }
Trang 424 Kết luận và hướng phát triển
Trang 434.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
Trang 444.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
Trang 45Tà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.
Trang 46EM XIN CHÂN THÀNH CẢM ƠN!