Khai phá luật dãy là một trong những lĩnh vực rất quan trọng trong nghiên cứu
khai phá dữliệu của thập kỷgần đây và ngày càng được áp dụng rộng rãi trong nhiều
lĩnh vực khác nhau. Vì trong thực tế, dữliệu dãy tồn tại rất phổbiến, như dãy dữliệu
mua sắm của khách hàng, dữliệu điều trịy tế, các dữliệu liên quan đến các thảm họa
tựnhiên, dữliệu xửlý khoa học và kỹthuật, dữliệu chứng khoán và phân tích thị
trường, dữliệu các cuộc gọi điện thoại, nhật ký truy cập web, dãy ADN biểu thịgen .
Mục đích chính của khai phá luật dãy là tìm kiếm và phát hiện tất cảcác dãy con lặp đi
lặp lại trong một CSDLtheo yếu tốthời gian.
Hiện nay, trên thếgiới đã có rất nhiều nhóm tác giảnghiên cứu đềxuất các thuật
toán với các phương pháp tiếp cận khai phá luật dãy khác nhau [1,2,5-12,14-16] nhằm
giải quyết sựđa dạng của các loại bài toán cũng như đưa ra các hướng cải tiến nhằm
giảm thiểu chi phí thời gian và tài nguyên hệthống.
Luận văn này nghiên cứu một sốthuật toán khai phá luật dãy, trong đó tập trung
chủyếu vào các thuật toán AprioriAll, AprioriSome [1], vì đây là những thuật toán rất
nổi tiếng trong lĩnh vực khai phá luật dãy và phù hợp với việc ứng dụng thửnghiệm
vào Hệthống Quản lý khách hàng và tính hóa đơn nước. Luận văn tiếp tục khóa luận
tốt nghiệp đại học trước đây của tôi (Nguyễn Đình Văn (2003), Phân tích thiết kếhệ
thốngvà ứng dụng vào bài toán quản lý khách hàng và tính hóa đơn nước) trong việc
bổsung những tính năng nâng cao cho hệthống. Luận văn hy vọngphát hiện được
một sốluật dãy, chẳng hạn như dãy thời gian tiêu thụnước nhiều nhất trong năm, dãy
dịch chuyển mức tiêu thụ nước theo mục đích sử dụng (sinh hoạt, sản xuất, kinh
doanh, công cộng, ), phát hiện những trường hợp bất thường trong sửdụng nước (tỉ
lệđăng ký sửdụng và thực tếsửdụng nước), mức độthất thoát nước và nguyên nhân
thất thoát nước đểlãnh đạo xí nghiệp có thểđưa ra các biện pháp quản lý, các chiến
lược sản xuất, kinh doanh phù hợp.
60 trang |
Chia sẻ: lvbuiluyen | Lượt xem: 2289 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn Một số thuật toán khai phá luật dãy và ứng dụng thử nghiệm vào hệ thống quản lý khách hàng và tính hóa đơn nước, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN ĐÌNH VĂN
MỘT SỐ THUẬT TOÁN KHAI PHÁ
LUẬT DÃY VÀ ỨNG DỤNG THỬ NGHIỆM
VÀO HỆ THỐNG QUẢN LÝ KHÁCH HÀNG
VÀ TÍNH HÓA ĐƠN NƯỚC
LUẬN VĂN THẠC SĨ
Hà Nội - 2011
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
NGUYỄN ĐÌNH VĂN
MỘT SỐ THUẬT TOÁN KHAI PHÁ
LUẬT DÃY VÀ ỨNG DỤNG THỬ NGHIỆM
VÀO HỆ THỐNG QUẢN LÝ KHÁCH HÀNG
VÀ TÍNH HÓA ĐƠN NƯỚC
Ngành: Công Nghệ Thông Tin
Chuyên ngành: Hệ Thống Thông Tin
Mã số: 60.48.05
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS. TS. Hà Quang Thụy
Hà Nội - 2011
- 3 -
Khai phá luật dãy Nguyễn Đình Văn
LỜI CAM ĐOAN
Tôi xin cam đoan luận văn này với đề tài “Một số thuật toán khai phá dãy và ứng
dụng thử nghiệm vào hệ thống quản lý khách hàng và tính hóa đơn nước” là công trình
do tôi nghiên cứu và hoàn thành dưới sự hướng dẫn của PGS. TS. Hà Quang Thụy,
trong luận văn có sử dụng một số tài liệu tham khảo như đã nêu trong phần “Tài liệu
tham khảo”.
Tác giả luận văn
Nguyễn Đình Văn
- 4 -
Khai phá luật dãy Nguyễn Đình Văn
MỤC LỤC
MỞ ĐẦU.............................................................................................................................. 6
CHƯƠNG 1 – KHÁI QUÁT CHUNG VỀ LUẬT DÃY VÀ KHAI PHÁ LUẬT DÃY ...... 8
1.1 Giới thiệu chung về luật kết hợp ............................................................................ 8
1.1.1 Khái niệm luật kết hợp................................................................................... 8
1.1.2 Các ứng dụng điển hình của luật kết hợp........................................................ 9
1.1.3 Thuật toán Apriori ....................................................................................... 10
1.2 Luật dãy .............................................................................................................. 12
1.2.1 Khái niệm luật dãy và ví dụ.......................................................................... 12
1.2.2 Một số ứng dụng.......................................................................................... 14
1.2.3 Luật dãy và luật kết hợp: một số đối sánh..................................................... 16
1.2.4 Sơ bộ về các phương pháp khai phá luật dãy................................................ 17
CHƯƠNG 2 – CÁC PHƯƠNG PHÁP KHAI PHÁ LUẬT DÃY ........................................ 21
2.1 Khái quát về khai phá luật dãy............................................................................. 21
2.2 Các thuật toán khởi thủy ...................................................................................... 23
2.2.1 Thuật toán AprioriAll .................................................................................. 23
2.2.2 Thuật toán AprioriSome............................................................................... 27
2.2.3 Thuật toán GSP (Generalized Sequential Patterns) ....................................... 30
2.3 Hai phương pháp khai phá luật dãy...................................................................... 36
2.3.1 Khai phá dãy sử dụng kỹ thuật phân vùng (thuật toán Dynamic DISC-all) ... 36
2.3.2 Khai phá luật dãy bằng mã hóa khối cơ bản với thuật toán PRISM............... 38
CHƯƠNG 3 – ĐỀ XUẤT ỨNG DỤNG KHAI PHÁ LUẬT DÃY TRONG HỆ THỐNG
QUẢN LÝ KHÁCH HÀNG VÀ TÍNH HÓA ĐƠN NƯỚC ............................................... 43
3.1 Tổng quan về hệ thống quản lý khách hàng và tính hóa đơn nước ........................ 43
3.1.1 Phân hệ quản lý khách hàng................................................................................. 44
3.1.2 Phân hệ lập và in hóa đơn .................................................................................... 46
3.1.3 Phân hệ thanh toán hóa đơn và quản lý nợ ........................................................... 48
3.1.4 Phân hệ báo cáo thống kê..................................................................................... 49
3.2 Phát biểu bài toán ................................................................................................ 50
3.3 Mô hình giái quyết............................................................................................... 52
3.4 Thực nghiệm và đánh giá..................................................................................... 55
3.4.1 Giới thiệu thực nghiệm ........................................................................................ 55
3.4.2 Kết quả thực nghiệm và nhận xét ......................................................................... 57
KẾT LUẬN ........................................................................................................................ 58
- 5 -
Khai phá luật dãy Nguyễn Đình Văn
CÁC ĐỊNH NGHĨA VÀ CHỮ VIẾT TẮT
Chữ viết tắt Diễn giải
Candidate Ứng viên
CSDL Cơ sở dữ liệu
Element Thành phần dãy
Frequent item Phần tử thường xuyên
Gcd Hàm tính ước số chung lớn nhất
Item Phần tử
Itemset Tập hợp các phần tử (item) xảy ra cùng lúc
Large sequence Dãy phổ biến
Maximal sequence Dãy tối đa, dãy phổ biến nhất
Projected database CSDL quy chiếu
Sequence Dãy
Support Độ hỗ trợ
Support threshold Ngưỡng hỗ trợ
Supsequence Dãy con
Threshold Ngưỡng
- 6 -
Khai phá luật dãy Nguyễn Đình Văn
MỞ ĐẦU
Khai phá luật dãy là một trong những lĩnh vực rất quan trọng trong nghiên cứu
khai phá dữ liệu của thập kỷ gần đây và ngày càng được áp dụng rộng rãi trong nhiều
lĩnh vực khác nhau. Vì trong thực tế, dữ liệu dãy tồn tại rất phổ biến, như dãy dữ liệu
mua sắm của khách hàng, dữ liệu điều trị y tế, các dữ liệu liên quan đến các thảm họa
tự nhiên, dữ liệu xử lý khoa học và kỹ thuật, dữ liệu chứng khoán và phân tích thị
trường, dữ liệu các cuộc gọi điện thoại, nhật ký truy cập web, dãy ADN biểu thị gen ...
Mục đích chính của khai phá luật dãy là tìm kiếm và phát hiện tất cả các dãy con lặp đi
lặp lại trong một CSDL theo yếu tố thời gian.
Hiện nay, trên thế giới đã có rất nhiều nhóm tác giả nghiên cứu đề xuất các thuật
toán với các phương pháp tiếp cận khai phá luật dãy khác nhau [1,2,5-12,14-16] nhằm
giải quyết sự đa dạng của các loại bài toán cũng như đưa ra các hướng cải tiến nhằm
giảm thiểu chi phí thời gian và tài nguyên hệ thống.
Luận văn này nghiên cứu một số thuật toán khai phá luật dãy, trong đó tập trung
chủ yếu vào các thuật toán AprioriAll, AprioriSome [1], vì đây là những thuật toán rất
nổi tiếng trong lĩnh vực khai phá luật dãy và phù hợp với việc ứng dụng thử nghiệm
vào Hệ thống Quản lý khách hàng và tính hóa đơn nước. Luận văn tiếp tục khóa luận
tốt nghiệp đại học trước đây của tôi (Nguyễn Đình Văn (2003), Phân tích thiết kế hệ
thống và ứng dụng vào bài toán quản lý khách hàng và tính hóa đơn nước) trong việc
bổ sung những tính năng nâng cao cho hệ thống. Luận văn hy vọng phát hiện được
một số luật dãy, chẳng hạn như dãy thời gian tiêu thụ nước nhiều nhất trong năm, dãy
dịch chuyển mức tiêu thụ nước theo mục đích sử dụng (sinh hoạt, sản xuất, kinh
doanh, công cộng, …), phát hiện những trường hợp bất thường trong sử dụng nước (tỉ
lệ đăng ký sử dụng và thực tế sử dụng nước), mức độ thất thoát nước và nguyên nhân
thất thoát nước … để lãnh đạo xí nghiệp có thể đưa ra các biện pháp quản lý, các chiến
lược sản xuất, kinh doanh phù hợp.
Luận văn được trình bày gồm có phần mở đầu, ba chương và phần kết luận.
Trong chương một, luận văn tập trung chủ yếu vào giới thiệu tổng quan về luật
dãy và khái phá luật dãy. Vì luật dãy có những mối liên hệ gần gũi với luật kết hợp và
một số thuật toán khai phá luật dãy trong luận văn là mở rộng của thuật toán điển hình
Apirori khai phá luật kết hợp, nên phần này sẽ trình bày khái quát về luật kết hợp, một
số đối sánh giữa luật dãy và luật kết hợp. Giới thiệu sơ bộ các phương pháp tiếp cận
khai phá luật dãy và các thuật toán điển hình tương ứng. Nội dung của chương này
được tổng hợp từ các tài liệu [1,3-4,13].
Trong chương hai, luận văn tập trung giới thiệu các thuật toán khai phá luật dãy
như AprioriAll [1], AprioriSome [1], GSP [2] là những thuật toán khởi thủy khai phá
luật dãy. Giới thiệu hai phương pháp khai phá luật dãy được công bố thời gian gần đây
- 7 -
Khai phá luật dãy Nguyễn Đình Văn
là “Khai phá luật dãy sử dụng kỹ thuật phân vùng” [10] và “Khai phá luật dãy bằng mã
hóa khối cơ bản” [16].
Trong chương ba, luận văn giới thiệu tổng quan về Hệ thống Quản lý khách hàng
và tính hóa đơn nước, đồng thời đề xuất ứng dụng khai phá luật dãy với thuật toán
AprioriAll. Trong đó, đưa ra yêu cầu đầu bài và mô hình cụ thể giải quyết bài toán.
Luận văn sử dụng dữ liệu mô phỏng của Xí nghiệp kinh doanh nước sạch Hoàn Kiếm
làm dữ liệu thử nghiệm để thực thi chương trình, đánh giá kết quả thực nghiệm.
Luận văn được hỗ trợ một phần từ Đề tài QG.10-38.
Luận văn được thực hiện dưới sự hướng dẫn của PGS. TS. Hà Quang Thụy –
trường Đại học Công Nghệ. Em xin bày tỏ lòng biết ơn sâu sắc tới Thầy đã hướng dẫn
và có ý kiến chỉ dẫn quý báu trong quá trình em thực hiện luận văn. Xin chân thành
cảm ơn Thạc sĩ Đặng Tiểu Hùng – Công ty CSE đã đóng góp nhiều ý kiến bổ ích để
bản luận văn được hoàn thiện hơn. Cuối cùng xin bày tỏ lòng biết ơn tới những người
thân trong gia đình, bạn bè đã động viên và giúp đỡ để tác giả hoàn thành bản luận văn
này.
- 8 -
Khai phá luật dãy Nguyễn Đình Văn
CHƯƠNG 1 – KHÁI QUÁT CHUNG VỀ LUẬT DÃY VÀ
KHAI PHÁ LUẬT DÃY
Khai phá luật dãy là một chủ đề thiết thực và quan trọng trong khai phá dữ liệu
với nhiều ứng dụng như là trong phân tích giao dịch mua hàng của khách hàng, khai
thác weblogs, khai thác các dãy ADN, nghiên cứu dữ liệu trong các bài toán khí tượng
- thủy văn như dự báo thời tiết, các thảm họa tự nhiên như động đất, sóng thần...
Các thuật toán khai phá luật dãy kế thừa nhiều từ các thuật toán khai phá luật kết
hợp, và nhiều thuật toán trong số đó là mở rộng của các thuật toán khởi thủy, ở đó sự
khác biệt chính là trong khai phá luật dãy đưa ra các phân tích liên giao dịch (inter-
transaction), trong khi đó khai phá luật kết hợp là tìm luật về mối liên quan giữa các
phần tử trong cùng một giao dịch (intra- transaction). Trước tiên, ta cần tìm hiểu một
số vấn đề của luật kết hợp.
1.1 Giới thiệu chung về luật kết hợp
1.1.1 Khái niệm luật kết hợp
Mục đích của luật kết hợp (Association Rule) là tìm ra các mối liên hệ giữa các
đối tượng trong khối lượng lớn dữ liệu [4]. Nội dung của luật kết hợp được phát biểu
như sau:
Cho tập các phần tử I = {i1, i2, …, im}. Cho CSDL D là tập các giao dịch, trong
đó mỗi giao dịch T là một tập các phần tử, tức là T I. Mỗi giao dịch được gắn với
một định danh gọi là TID.
Cho A là tập các phần tử. Giao dịch T được gọi là chứa A nếu và chỉ nếu A T.
Một luật kết hợp có dạng A B, trong đó A I, B I và A B = Ø.
Độ hỗ trợ (support) và độ tin cây (confidence) là 2 tham số dùng để đo lường
luật kết hợp.
Luật A B trong tập giao dịch D với độ hỗ trợ (support) s, kí hiệu là support(A
B), trong đó s là tỉ lệ phần trăm của các giao dịch trong D mà có chứa A B. Hay
là xác suất P(A B ).
Công thức để tính độ hỗ trợ của luật A B như sau:
support(A B) = P(A B ) =
N
Bn )A (
Trong đó: N là tổng số giao dịch; n(A B ) là số giao dịch có chứa (A B )
- 9 -
Khai phá luật dãy Nguyễn Đình Văn
Luật A B có độ tin cậy (confidence) c trong tập giao dịch D, kí hiệu là
confidence(A B), trong đó c là tỉ lệ phần trăm của các giao dịch trong D có chứa A
và cũng chứa B. Hay là xác suất P(B | A).
Công thức để tính độ tin cậy của luật A B là xác suất có điều kiện B khi đã biết
A, như sau:
confidence(A B) = P(B | A ) =
)(
)A (
An
Bn
Trong đó: n(A) là số giao dịch chứa A; n(A B ) là số giao dịch có chứa (A B )
Các luật đáp ứng được (lớn hơn hoặc bằng) cả ngưỡng hỗ trợ tối thiểu (min_sup)
và ngưỡng tin cậy tối thiểu (min_conf) được gọi là các luật mạnh (strong rules). Thông
thường, ta viết độ hỗ trợ và độ tin cậy là các giá trị giữa khoảng 0% và 100% thay vì
từ 0 đến 1.0.
min_sup và min_conf gọi là các giá trị ngưỡng (threshold) và phải xác định trước
khi sinh các luật kết hợp.
1.1.2 Các ứng dụng điển hình của luật kết hợp
Một số ứng dụng điển hình như: phân tích giỏ hàng (market basket analysis), đưa
ra chiến lược tiếp thị, thiết kế bài trí gian hàng, chiến lược bán hàng khuyến mại, các
bài toán phân lớp, phân cụm, ...
Market basket analysis: Chẳng hạn, một người quản lý một chi nhánh bán hàng,
họ muốn biết thêm về thói quen mua sắm của khách hàng. Cụ thể như họ muốn biết
rằng “Trong mỗi lần mua sắm, khách hàng thường mua các nhóm mặt hàng nào cùng
nhau?”. Để trả lời câu hỏi này, việc phân tích giỏ khách hàng sẽ được thực hiện trên
dữ liệu mua bán lẻ của khách hàng đã được lưu trữ. Sau đó có thể sử dụng kết quả đó
để lên kế hoạch tiếp thị, chiến lược quảng cáo hoặc dự định bổ sung các danh mục
hàng hóa mới. Việc phân tích giỏ hàng có thể giúp bạn thiết kế gian hàng với các cách
bài trí hàng hóa khác nhau. Các mặt hàng thường xuyên được mua với nhau có thể
được đặt ở gần nhau để thúc đẩy việc bán hàng. Nếu khách hàng mua máy tính cũng
có xu hướng mua phần mềm diệt virus cùng lúc, cũng thế, đặt màn hình gần với các
phần mềm hiển thị có thể giúp tăng doanh số bán hàng của cả hai. Trong một chiến
lược khác, bố trí phần cứng và phần mềm ở hai đầu của cửa hàng có thể lôi kéo khách
hàng mua những mặt hàng khác trên đường di chuyển giữa hai vị trí. Ví dụ, sau khi
quyết định mua một máy tính đắt tiền, trong khi đến mua phần mềm diệt virus, khách
hàng quan sát thấy hệ thống an ninh gia đình được trưng bày và có thể quyết định mua.
Việc phân tích giỏ hàng cũng có thể giúp các nhà bán lẻ đưa ra các kế hoạch bán hàng
giảm giá. Thông thường, khách hàng có xu hướng mua máy tính và máy in với nhau,
khi đó có thể bán giảm giá máy in nếu khách hàng mua máy tính.
- 10 -
Khai phá luật dãy Nguyễn Đình Văn
Trong gian hàng, mỗi mặt hàng gắn với một biến Boolean biểu thị sự có mặt hay
vắng mặt của mặt hàng đó. Tiếp đến, mỗi giỏ hàng có thể được thể hiện bởi một vector
Boolean các giá trị được gán cho các biến đó. Các vector Boolean biểu thị các mẫu
mua hàng mà ở đó các mặt hàng được kết hợp một cách thường xuyên hoặc được mua
với nhau. Các mẫu này có thể được biểu thị ở dạng các luật kết hợp. Ví dụ, khách hàng
mua máy tính cũng có xu hướng mua phần mềm diệt virus cùng lúc, có thể được biểu
diễn với luật kết hợp như sau:
computer antivirus_software [support = 2%, confidence = 60%]
support = 2% nghĩa là có 2% trong tất cả các giao dịch được phân tích cho thấy máy
tính và phần mềm diệt virus được mua cùng lúc. confidence = 60% nghĩa là có 60% số
lượng khách hàng đã mua máy tính thì cũng mua phần mềm. Thông thường, các luật
kết hợp được quan tâm nếu chúng đáp ứng được cả ngưỡng hỗ trợ tối thiểu và ngưỡng
tin cậy tối thiểu. Các ngưỡng này có thể được thiết lập bởi người dùng.
Một số thuật toán thường được sử dụng cho khai phá luật kết hợp như: Apriori,
Eclat, Frequent-Pattern tree, … .Dưới đây sẽ trình bày chi tiết thuật toán Apriori vì
thuật toán này được mở rộng để sử dụng cho khai phá luật dãy.
1.1.3 Thuật toán Apriori
Tư tưởng của thuật toán Apriori là:
- Tìm tất cả các tập thường xuyên (frequent itemsets): k-itemset (itemsets gồm
k items) được dùng để tìm (k+1)-itemset.
- Đầu tiên tìm 1-itemset (ký hiệu L1); L1 được dùng để tìm L2 (2-itemsets); L2
được dùng để tìm L3 (3-itemset) và tiếp tục cho đến khi không có k-itemset
được tìm thấy.
- Từ các tập thường xuyên (frequent itemsets) sinh ra các luật kết hợp mạnh
(các luật kết hợp thỏa mãn 2 tham số min_sup và min_conf)
Thuật toán Apriori [4]
Join Step: Ck is generated by joining Lk-1with itself.
Prune Step: Any (k-1)-itemset that is not frequent cannot be a
subset of a frequent k-itemset.
Pseudo-code:
Ck: Candidate itemset of size k
Lk: frequent itemset of size k
L1 = {frequent items};
for (k = 1; Lk !=Ø; k++) do
Ck+1 = candidates generated from Lk
for each transaction t in database do
increment the count of all candidates in Ck+1 that
are contained in t
Lk+1 = candidates in Ck+1 with min_support
end
- 11 -
Khai phá luật dãy Nguyễn Đình Văn
return kLk
Cụ thể, thực hiện theo các bước sau:
Bước 1: Duyệt toàn bộ CSDL để có được độ hỗ trợ s của 1-itemset, so sánh s với
min_sup, để có được 1-itemset (L1)
Bước 2: Thực hiện phép nối (join) Lk-1 với Lk-1 để sinh ra tập ứng viên k-itemset. Loại
bỏ các tập không phải là tập thường xuyên ta thu được k-itemset
Bước 3: Duyệt CSDL để có được độ hỗ trợ s của mỗi tập ứng viên k-itemset, so sánh s
với min_sup để loại bỏ các tập không phải là tập thường xuyên (có s < min_sup), thu
được tập thường xuyên k–itemset (Lk)
Bước 4: Lặp lại từ bước 2 cho đến khi tập ứng viên là rỗng (không tìm thấy tập thường
xuyên).
Bước 5: Với mỗi tập thường xuyên I, sinh tất cả các tập con s không rỗng của I
Bước 6: Với mỗi tập con s không rỗng của I, sinh ra các luật s => (I-s) nếu độ tin cậy
(confidence) của nó > = min_conf
Chẳn hạn với I= {A1,A2,A5},các tập con của I:
{A1}, {A2}, {A5}, {A1,A2},{A1,A5},{A2,A5}
sẽ có các luật sau
{A1} => {A2,A5},{A2} =>{A1,A5},{A5} =>{A1,A2}
{A1,A2} =>{A5},{A1,A5} =>{A2},{A2,A5} => {A1}
Ví dụ: Giả sử ta có có sở dữ liệu giao dịch như sau :
Thuật toán Apriori khai phá luật kết hợp được mô tả qua các bước sau
- 12 -
Khai phá luật dãy Nguyễn Đình Văn
Ta có tập thường xuyên I ={B,C,E}, với min_conf = 80% ta có 2 luật kết hợp là
{B,C} => {E} và {C,E} => {B}
1.2 Luật dãy
1.2.1 Khái niệm luật dãy và ví dụ
Ta giới thiệu vấn đề dựa trên quá trình mua bán hàng và một CSDL lưu trữ thông
tin giao dịch mua bán hàng bao gồm các thông tin về mã khách hàng (customer-id),
thời gian giao dịch (transaction-time) và các mặt hàng trong giao dịch.
Các khái niệm
Một itemset là một tập không rỗng các phần tử (item).
Một dãy (sequence) là một danh sách có thứ tự các itemset.
Không mất tính tổng quát, chúng ta giả sử rằng một tập các phần tử được ánh xạ
tới một tập các số nguyên liền kề. Ta biểu thị itemset i bởi (i1i2...im), trong đó ij là một
phần tử. Ta biểu thị dãy s bởi (s1s2...sn), trong đó sj là một itemset.
- 13 -
Khai phá luật dãy Nguyễn Đình Văn
Dãy (a1a2...an) được chứa trong dãy (b1b2...bn) nếu ở đó tồn tại các số nguyên i1 <
i2 < ... < in sao cho a1 bi1 , a2 bi2 , ..., an bin. Ta sử dụng ký hiệu để biểu thị
quan hệ “được chứa trong”. Ví dụ, dãy , vì
((3) (3 8), (4 5) (4 5 6) và (8) (8). Tuy nhiên, dãy không được chứa
trong và ngược lại. Phần tử 3 và 5 trong dãy mô tả chúng không nằm
trong cùng một lần giao dịch, trong khi phần tử 3 và 5 trong dãy mô tả chúng
nằm trong một lần giao dịch. Trong một tập các dãy, một dãy s là lớn nhất hay tối đa
(maximal) nếu s không được chứa trong bất kỳ dãy nào khác.
Tất cả các giao dịch của cùng một khách hàng có thể được xem như là một dãy.
Trong đó, mỗi giao dịch được xem như một tập các phần tử, và danh sách các giao
dịch theo thứ tự tăng dần về thời gian giao dịch tương ứng với một dãy. Chúng ta gọi
đó là một dãy khách hàng (customer-sequence). Ta biểu thị các giao dịch của một
khách hàng được sắp xếp thứ tự tăng dần theo thời gian là (T1, T2, ..., Tn). Tập các
phần tử (item) trong Ti được biểu thị bởi itemset(Ti). Dãy customer-sequence của một
khách hàng là một dãy .
Một khách hàng hỗ trợ một dãy s nếu s được chứa trong dãy customer-sequence
đối với khách hàng đó. Độ hỗ trợ của một dãy được định nghĩa là số khách hàng hỗ trợ
dãy đó.
Các dãy tối đa trong số tất cả các dãy phổ biến đáp ứng mức hỗ trợ tối thiểu cụ
thể nào đó được gọi là luật dãy hay mẫu dãy (sequential patterns). [1]
Ta gọi dãy đáp ứng độ hỗ trợ tối thiểu là dãy phổ biến (large se