GVHD:
PGS.TS Lê Hoài Bắc
Học viên:
Vũ Hoàng Hải Sơn - 1211061
1
Nội Dung
1.
Giới Thiệu
2.
Mô tả thuật toán
3.
Đánh giá và kết quả của thuật toán
2
Giới thiệu
Có rất nhiều thuật toán được đề xuất tìm kiếm các luật
kết hợp (association rules) trong trường dữ liệu như:
Apriori
TreeProjection
FP-growth
Mining of generalized and multi-level rules
Mining of quantitative rules
…
3
Giới thiệu
Dữ liệu thời gian tồn tại rộng rãi trong kinh tế, tài chính,
truyền thông, và các lĩnh vực khác như dự báo thời tiết
Temporal Association Rules(TAR) là sự thể hiện của các
luật kết hợp bằng việc kết hợp với thời gian.
Đặc trưng của dữ liệu thời gian là sự cập nhật liên tục do
đó các giải thuật được đề xuất để giải quyết các vấn đề
xử lý chỗi thời gian:
Progressive Partition Miner(PPM)
Segmented Progressive Filter (SPF)
Two end AssocIation miNer (Twain)
Incremental Temporal Association Rules Mining (ITARM)
4
Giới thiệu
•
Incremental Temporal Association Rules Mining (ITARM)
Dựa trên nền của thuật toán Sliding-Window Filtering
Duy trì những tập tập phổ biến sau khi dữ liệu đã được cập
nhật
5
Mô tả thuật toán
1.
Mô tả dữ liệu
2.
Giải thuật
6
Mô tả dữ liệu
Dữ liệu thời gian sẽ được phân vùng theo các mốc thời
gian như theo tháng, quý, năm
Các ký hiệu được sử dụng:
Db
s,e
:1 phần của dữ liệu bắt đầu từ P
s
đến P
e
Y
s,e
: đối tượng có P
s
là phân vùng bắt đầu và P
e
là kết
thúc
MCP (Y): là thời gian thể hiện tối đa của đối tượng Y
7
Mô tả dữ liệu
Các ký hiệu được sử dụng(tt):
Supp(x
MCP(x)
) là relative support của tập x
Conf(XY)
MCP(XY)
là độ tin cậy
8
Mô tả dữ liệu
MCP(DE) = (2,3) do MCP(D) = (1,3) và MCP(E) = (2,3)
Supp(DE) = 2/8 = 25%
Conf(DE) = 2/3 = 66,66%
min_sup=30% và min_conf = 75%
9
Giải thuật
10
Thuật toán ITARM
Input: DB, db, C
2
DB
, min_sup
Output: L’, C
2
DB+db
B1: tìm tất cả các ứng cử
viên(UCV) trong db (C
2
db
)
11
C
2
Start Count
P1+P2
BC 1 4
CE 2 2
DE 2 2
p3
AD 3 1
BC 3 1
BD 3 1
BE 3 1
BF 3 3
CE 3 1
CF 3 1
DF 3 1
EF 3 1
Thuật toán ITARM
B2
:
Cập nhật support của
các UCV X trong C
2
DB
:
x.supp
DB+db
= x.supp
DB
+ x.supp
db
Cập nhật X vào C
2
DB+db
Cập nhật các UCV còn
lại trong C
2
DB
và C
2
db
vàoC
2
DB+db
12
C
2
Start Count RS
AD 3 1 4 x 30% = 2
BC 1 5 12 x 30% = 4
DB 3 1 4 x 30% = 2
BE 3 1 4 x 30% = 2
BF 3 3 4 x 30% = 2
CE 2 3 8 x 30% = 3
CF 3 1 4 x 30% = 2
DE 2 2 8 x 30% = 3
DF 3 1 4 x 30% = 2
EF 3 1 4 x 30% = 2
Thuật toán ITARM
B3: Lọc các UCV có supp > min_supp
Trong thuật toán này, supp được tính bằng số các trường
trong database có chứ X và min_supp được tính theo
công thức:
Các UCV được lọc lại là BC, BF, CE
13
Thuật toán ITARM
B4:
Tìm các UCV gồm có k+1 đối tượng từ tập UCV thứ k
bằng phép kết Apriori (bắt đầu bằng k=2)
Cập nhật vào tập các UCV C
DB+db
Dừng quá trình tìm kiếm khi tập C
k
DB+db
= Ø
14
Thuật toán ITARM
B5:
Tìm các tập thời gian(TI) từ tập UCV C
DB+db
Tìm các tập thời gian con(SI) từ tập TI
15
TI’s SI’s
BC
1,3
B
1,3
C
1,3
BF
3,3
B
3,3
F
3,3
CE
2,3
C
2,3
E
2,3
Thuật toán ITARM
B6:
Tính toán lại support count và lọc lại các UCV
16
Candidate itemset Count Relative support
SI’s B
1,3
8 12 x 30% = 4
C
1,3
6 12 x 30% = 4
B
3,3
3 4 x 30% = 2
F
3,3
3 4 x 30% = 2
C
2,3
4 8 x 30% = 3
E
2,3
4 8 x 30% = 3
TI’s BC
1,3
5 12 x 30% = 4
BF
3,3
3 4 x 30% = 2
CE
2,3
3 8 x 30% = 3
Frequent itemsets
L1 B
1,3
C
1,3
B
3,3
F
3,3
C
2,3
E
2,3
L2 BC
1,3
BF
3,3
CE
2,3
Thuật toán Update C2
Input: C
2
DB
,P
n
,min_sup
Output: C
2
DB
Với mỗi UCV X thuộc C
2
DB
, nếu tồn tại X trong n
transaction T thuộc P
n
:
X.support
DB
= X.support
DB
- n
VD:
Trong trường hợp P3 không nằm trong tháng 3 mà là phần
thêm của tháng 2, tức là P2 = P2 + P3, và P2 được xem là db
17
C
2
DB
count
BC 4
CE 2
DE 2
C
2
DB
count
BC 2
Đánh giá và kết quả thuật toán
So sánh với hai thuật toán SPF và Twain, tất cả đều chạy
trên nền máy Win Xp, code C#, 1.8 GHz Intel Core 2 Duo,
1GB ram
Tx: x là chiều dài trung bình của 1 transaction trong DB
Ly: y là chiều dài trung bình lớn nhất có thể có của 1 tập phổ
biến
Dz: z là số các transaction trong DB ban đầu (tính theo hàng
nghìn)
dr: r là số các transaction trong DB cập nhật (tính theo hàng
nghìn)
Nm: m là số lượng item (tính theo hàng nghìn)
Ln: n là số lượng tập phổ biến có thể có (tính theo hàng
nghìn)
Po: o là số các phân vùng
18
Đánh giá và kết quả thuật toán
19
CÁM ƠN THẦY VÀ CÁC BẠN
20