LOGO
Mining
Mining
Sequential
Sequential Patterns
Patterns
( Khai phá Luật dãy )
Nguyễn Duy Cường
Nguyễn Tiến Mạnh
Nguyễn Bá Khánh
Dàn Ý
1
Giới thiệu
2
Mô hình thực tế
3
Các phương pháp
4
Hỏi Đáp & Kết Luận
Giới thiệu
Association Rule
Tìm các mẫu thường xuyên
Các liên kết
Cấu trúc tương quan
Quan hệ nhân quả
VD: Mua A và B thì 90% sẽ Mua C
Sequential Patterns
Tìm các mẫu thường xuyên
Các liên kết
Cấu trúc tương quan
Quan hệ nhân quả
Nhưng phải gắn yếu tố trình tự hay thời gian.
VD: Mua A sau đó mua B thì 90% tiếp theo sẽ mua C
Giới thiệu
Vấn đề của luật dãy là tìm kiếm các mẫu có liên quan tới yếu tố thời gian trên 1 CSLD
dãy( các phần tử của CSDL được sắp xếp theo 1 trình tự)
Khai phá luật dãy là mở rộng của khai phá luật kết hợp
Giới thiệu ứng dụng
Dự đoán di động
Thu thập dữ liệu vị trí (GSM, GPS)
Phân tích, dự đoán vị trí tiếp theo
Phân bố tài nguyên di động hợp lý
Giới thiệu ứng dụng
Trong kinh doanh, marketting
Thu thập dữ liệu giao dịch từ khách hàng
Xử lý, tìm kiếm các mẫu dãy thường xuyên
Xắp xếp các kệ hàng theo thứ tự mẫu đã thu được
Giới thiệu ứng dụng
Ví Dụ:
Cửa hàng Apple khảo sát thấy: KH mua PK Macbook rồi mua PKIphone thì 70% tiếp theo sẽ mua
PKIpad
Mô hình thực tế
Một cửa hàng thu thập thông tin khách hàng qua biên lai giao dịch, CSDL thu được như sau:
Mô hình thực tế
Customer ID: là ID của khách hàng
Transaction Time: là thời gian giao dịch
Items: Là mặt hàng(10, 30, 40… là mã của 1 mặt hàng nào đó)
Mô hình thực tế
Tiến hành sắp xếp CSDL
Customer ID sắp trước
Transaction-Time sắp sau
Mô hình thực tế
Gộp theo Customer ID:
CSDL được sắp xếp như trên gọi là 1 sequence database (CSDL chuỗi hay CSDL dãy)
Giải thích thuật ngữ
Các giao dịch của KH kí hiệu là Ti (theo thời gian tăng dần)
Mỗi giao dịch là 1 bộ mặt hàng kí hiệu là Itemset(Ti)
VD: KH 2, lần gd thứ nhất Itemset(T1)=(10 20)
Mỗi dãy KH (Customer Sequence) là các giao dịch đc sắp xếp theo thời gian,
Itemset(T2)…..>
VD: Dãy KH 1 là: <(30) (90)>
Giải thích thuật ngữ
Độ dài của 1 dãy KH
Số itimeset thuộc dãy đó. k-sequence kí hiệu của dãy có độ dài k
VD: Dãy KH 1 có độ dài là 2, KH2 có độ dài 3
Độ hỗ trợ của 1 itemset
Là số KH mà trong 1 giao dịch nào đó có chứa bộ Itemset đó
VD: (40 70) có độ hỗ trợ là 2
Litemset
Một itemset đáp ứng minsup
Large sequence
Là một dãy các Litemset
Supsequence
Dãy (a1 a2 …an) là dãy con của dãy (b1 b2 …bm) nếu ở đó tồn tại các số nguyên i1 < i2 < ... < in sao cho a1 ⊆
bi1 , a2 ⊆ bi2 , ...,
an ⊆ bi2.
Maximal Sequence
Dãy tối đa trong 1 tập các dãy là dãy không được chứa trong bất kì dãy nào khác (ko là Supsequence của dãy
nào)
Đặt vấn đề
Chủ cửa hàng muốn tìm ra các mẫu dãy hỗ trợ từ 2 KH trở lên, để tiện sắp xếp các kệ hàng
Các giai đoạn khai phá
Sort Phase
Litemset Phase
Transformation Phase
Sequence Phase
Maximal Phase
Sắp xếp CSDL
Tìm Litemset, 1-sequence
Chuyển đổi CSDL
Tìm các dãy ứng viên
Tìm các dãy tối đa
Giai đoạn sắp xếp
Giai đoạn Litemset
Trong giai đoạn này, chúng ta tìm tập tất cả litemsets
Tìm tất cả các dãy phổ biến 1-seqence
Chú ý:
Với giao dịch của một khách hàng, độ hỗ trợ được tính tăng lên chỉ một lần ngay cả khi khách hàng
mua cùng một tập các sản phẩm trong hai hay nhiều giao dịch khác nhau.
Giai đoạn chuyển đổi
Mỗi giao dịch được thay thế bằng tập tất cả các litemset chứa trong giao dịch đó
Nếu 1 giao dịch không chứa bất kì litemset nào thì nó bị loại khỏi dãy chuyển đổi
Nếu 1 dãy khách hàng không chứa bất kì litemset nào thì khách hàng đó bị loại khỏi CSDL
chuyển đổi (nhưng vẫn tính trong tổng số KH)
Giai đoạn chuyển đổi
Giao dịch 1 của KH 2 (10 20) không chứ litemset nào bị loại khỏi dãy chuyển đổi
Giai đoạn dãy
Sử dụng tập các litemset để tìm các dãy ứng viên
Duyệt toàn bộ CSDL, tính độ hỗ trợ của các dãy ứng viên được tạo
Tại lần duyệt cuối cùng của mỗi bước, xác định dãy nào trong các dãy ứng viên là dãy phổ
biến thực sự
Các dãy ứng viên phổ biến trở thành khởi tạo cho lần duyệt tiếp theo
Như vậy: Dãy 1-sequence tìm trong bước litemset là tập khởi tạo đầu tiên cho bước này
Giai đoạn tìm dãy tối đa
Tìm các dãy tối đa trong các dãy phổ biến tìm được ở giai đoạn dãy (n là độ dài của dãy dài
nhất)
Thường kết hợp với giai đoạn dãy để giảm thời gian
Các phương pháp & Thuật toán
Phương pháp dựa trên định dạng dọc (Vertical format-based method)
Các phương pháp dựa trên việc phát triển mẫu (Pattern growth based methods)
Khai phá mẫu dãy tăng dần (Incremental Mining of Sequential Patterns)
Khai phá Các mẫu dãy đóng (Closed Sequential Patterns)
Phương pháp dựa trên Apriori
AprioriAll
AprioriSome
DynamicSome
Thuật toán AprioriAll
Đầu vào của thuật toán là dãy:
L1 = {Lage 1-sequence}
Duyệt tìm dãy ứng viên C2 và dãy đầu vào L2 cho bước tiếp theo
L2 là các dãy thuộc C2 đáp ứng minsup
C2 sinh bởi hàm Apriori Candidate Generation
Nếu L2 ≠Ø thì lại tiếp tục tìm C3 và L3
Thuật toán AprioriAll
Dừng lặp khi Lk rỗng
Tìm tất cả các dãy lớn nhất của tất cả Lk