ĐỒ Á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
!"#$%&'
NỘI DUNG TRÌNH BÀY
'
()*+,#
-
./01234
5
6789.
:
;$*,..
&
%024<*.=>
2
'()*+,#
5
:
:
&
&
Thống kê
?
90% có thể tái chế
Nhưng chỉ thực hiện được 15%
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!
Vấn đề phát sinh
A
2BC"DDD
%.E24,>F$.
=1E4G
Các tri thức có thể khai phá được
•
H$=I34JCK,L*<
,MNOP/Q$RSCM,
•
!7TCUGBV
•
(#4=W=B
X
YZ4,L.
•
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
'[
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
%.-
%.5
%.:
%.&
E$)
B,\,)$4
V4D
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
'-
Các khái niệm cơ bản
'5
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
(S]=\^>4$_C4O-
Tập 2 mục
`Eab.$cd 4=4O5P$_C4
^2"e4+
<$YB
e48
Luật:
Sữa Bánh mỳ
Độ n cậy- Condence???
(SZ<8f24</0\
•
Luật A=> B chấp nhận nếu:
confidence (A=>B) > min_confidene
Vd:
'&
_gJJOX[h Luật chấp nhận được
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.
'?
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
'@
4<.==
•
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
'A
Mô tả thuật toán
'X
-[
=C iJ$C
'[[ i'ai-ai&
-[[ i-ai:
5[[ i-ai5
:[[ i'ai-ai:
&[[ i'ai5
?[[ i-ai5
@[[ i'ai5
A[[ i'ai-ai5ai&
X[[ i'ai-ai5
iJ$ 44
i' ?
i- @
i5 ?
i: -
i& -
'
iJ$ 44
i' ?
i- @
i5 ?
i: -
i& i-
4O-
'
iJ$J
`i'ai-d
`i'ai5d
`i'ai:d
`i'ai&d
`i-ai5d
`i-ai:d
`i-ai&d
`i5ai:d
`i5ai&d
`i:ai&d
-
iJ$J 44
`i'ai-d :
`i'ai5d :
`i'ai:d '
`i'ai&d -
`i-ai5d :
`i-ai:d -
`i-ai&d -
`i5ai:d [
`i5ai&d '
`i:ai&d [
-
iJ$J 44
`i'ai-d :
`i'ai5d :
`i'ai&d -
`i-ai5d :
`i-ai:d -
`i-ai&d -
-
'e'
jCUE24W
-'
iJ$J 44
`i'ai-d :
`i'ai5d :
`i'ai&d -
`i-ai5d :
`i-ai:d -
`i-ai&d -
-
iJ$J
`i'ai-ai5d
`i'ai-ai&d
`i'ai5ai&d
`i-ai5ai:d
`i-ai5ai&d
`i-ai:ai&d
5
4RJ
`i'ai-d
`i'ai5d
`i-ai5d
4S-
4RJ
`i'ai5d
`i'ai&d
`i5ai&d
% 4S-
-e-
iJ$J
`i'ai-ai5d
`i'ai-ai&d
iJ$J 44
`i'ai-ai5d -
`i'ai-ai&d -
5
5
iJ$J 44
`i'ai-ai5d -
`i'ai-ai&d -
5
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ử
-5
=C iJ$C
'[[ i'ai-ai&
-[[ i-ai:
5[[ i-ai5
:[[ i'ai-ai:
&[[ i'ai5
?[[ i-ai5
@[[ i'ai5
A[[ i'ai-ai5ai&
X[[ i'ai-ai5
iJ$ 44
i' ?
i- @
i5 ?
i: -
i& i-
I1I2 I1I5 I2I4 I2I3 I1I4 I1I3 I1I5 I3I5
: - - : ' : - '
b9Rk$<-";
'
l4mnb
jCUE24W
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 L
k
nhỏ hơn k lần.
-:
-&-&
=C iJ$C
'[[ i'ai-ai&
-[[ i-ai:
5[[ i-ai5
:[[ i'ai-ai:
&[[ i'ai5
?[[ i-ai5
@[[ i'ai5
A[[ i'ai-ai5ai&
X[[ i'ai-ai5
iJ$ 44
i' ?
i- @
i5 ?
i: -
i& -
'
iJ$ 44
i' ?
i- @
i5 ?
i: -
i& i-
4O-
'
iJ$J
`i'ai-d
`i'ai5d
`i'ai:d
`i'ai&d
`i-ai5d
`i-ai:d
`i-ai&d
`i5ai:d
`i5ai&d
`i:ai&d
-
iJ$J 44
`i'ai-d :
`i'ai5d :
`i'ai:d '
`i'ai&d -
`i-ai5d :
`i-ai:d -
`i-ai&d -
`i5ai:d [
`i5ai&d '
`i:ai&d [
-
iJ$J 44
`i'ai-d :
`i'ai5d :
`i'ai&d -
`i-ai5d :
`i-ai:d -
`i-ai&d -
-
'e'
jCUE24W
=C iJ$C
A[[ i'ai-ai5ai&