Tải bản đầy đủ (.pdf) (70 trang)

Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.72 MB, 70 trang )

BỘ CÔNG THƯƠNG

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP TP.HCM
KHOA CÔNG NGHỆ THƠNG TIN

KHĨA LUẬN TỐT NGHIỆP

DỰ ĐỐN HÀNH VI CỦA KHÁCH HÀNG
DỰA VÀO TẬP PHỔ BIẾN

GVHD: TS. PHẠM THỊ THIẾT
SVTH: NGUYỄN VĂN VƯƠNG – 17064301
NGUYỄN HỒNG THIÊN CHÍ – 17066151

TP.HỒ CHÍ MINH – 6/2021


INDUSTRIAL UNIVERSITY OF HO CHI MINH CITY
FACULTY OF INFORMATION TECHNOLOGY

NGUYEN VAN VUONG
NGUYEN HOANG THIEN CHI

PREDICTING CUSTOMER BEHAVIOR BASED ON
THE FREQUENT ITEMSET
Major: Computer science

Supervisor: Dr. Pham Thi Thiet

HO CHI MINH CITY, 2021



Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

ABSTRACT
The IT industry is growing, demanding an increasing amount of information. The
ability to utilize data mining to detect information rules in huge amounts of data helps to
make the right decisions that provide a strong opportunity for business growth.
Although many data mining algorithms, such as Approri (Agrawal & Srikant,
1994), FP-Growth (Han et al., 2000), are not efficient and consistent with large amounts
of data. Current data. Recently, Node-list (Deng & Wang, 2010) and N-list (Deng, Wang,
& Jiang, 2012) are two commonly used data structures, which have proved to be very
effective in stating Popular file pool. The main problem with these constructs is that both
algorithms must encode each node of the PPC-Tree with pre-order and post-order code.
This is the cause of memory loss inconvenient patch during the common file exploit.
Therefore, the NegNodeset (Nader ,Behrouz & Mohammad, 2018) structure is more
efficient for common file mining.
The basis of NegNodeset is sets of nodes in a prefix tree. NegNodeset employs a
novel encoding model for nodes in a prefix tree based on the bitmap representation of
sets.. Node-sets only require pre-order or post-order for each node, which in turn allows
Node-sets to save half the memory compared to Node-lists and N-lists.
The thesis aims to investigate the NegNode-set structure and combined negFin
algorithm for apply exploiting customer behavior on the database transaction.

Nguyễn Văn Vương, Nguyễn Hoàng Thiên Chí

i



Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

LỜI CẢM ƠN
Được sự đồng ý của Cơ hướng dẫn TS Phạm Thị Thiết, nhóm chúng tơi
đã thực hiện đề tài “Dự đốn hành vi của khách hàng dựa vào tập phổ biến”.
Để hồn thành khố luận này, chúng tôi xin chân thành cảm ơn các thầy
cơ đã tận tình hướng dẫn, giảng dạy trong suốt quá trình học tập, nghiên cứu
và rèn luyện tại trường đại học Công nghiệp TP.HCM.
Xin chân thành cảm ơn Cô hướng dẫn TS Phạm Thị Thiết đã tận tình,
chu đáo hướng dẫn nhóm chúng tơi thực hiện khố luận này.
Mặc dù đã có nhiều cố gắng để thực hiện đề tài một cách hoàn chỉnh
nhất. Song do buổi đầu làm quen, cũng như hạn chế về kiến thức và kinh
nghiệm nên khơng thể tránh khỏi những thiếu sót nhất định mà bản thân chúng
tôi chưa thấy được. Chúng tôi rất mong được sự góp ý của q Thầy, Cơ để
khố luận được hồn chỉnh hơn.
Chúng tơi xin chân thành cảm ơn.

Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

ii


Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

NHẬN XÉT VÀ ĐÁNH GIÁ CỦA GIÁO VIÊN HƯỚNG DẪN
…………………………………………………………………………………

…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
……………………………
TP. Hồ Chí Minh, ngày…. tháng…. năm 2021

Giáo viên hướng dẫn
Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

iii


Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp


ĐÁNH GIÁ VÀ NHẬN XÉT CỦA GIÁ VIÊN PHẢN BIỆN 1
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
……………………………
TP. Hồ Chí Minh, ngày…. tháng…. năm 2021

Giáo viên phản biện
Nguyễn Văn Vương, Nguyễn Hoàng Thiên Chí

iv


Dự đoán hành vi của khách hàng dựa vào tập phổ biến


Khóa luận tốt nghiệp

ĐÁNH GIÁ VÀ NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN 2
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
…………………………………………………………………………………
……………………………
TP. Hồ Chí Minh, ngày…. tháng…. năm 2021

Giáo viên phản biện
Nguyễn Văn Vương, Nguyễn Hoàng Thiên Chí

v



Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

Mục lục
CHƯƠNG 1: TỔNG QUAN .........................................................................................................1
1.1

Giới thiệu về khai thác dữ liệu .........................................................................................1

1.2

Mục tiêu nghiên cứu .........................................................................................................2

1.3

Nội dung nghiên cứu ........................................................................................................2

1.4

Đối tượng nghiên cứu .......................................................................................................2

1.5

Phương pháp nghiên cứu ..................................................................................................3

CHƯƠNG 2: TỔNG QUAN VỀ KHAI THÁC DỮ LIỆU ...........................................................5
Giới thiệu sơ lược về khai thác dữ liệu .............................................................................5


2.1

2.1.1 Khai thác luật kết hợp ...................................................................................................5
2.1.2 Khai thác tập phổ biến ..................................................................................................5
Các khái niệm cơ sở .........................................................................................................5

2.2

2.3 Các thuật toán khai thác tập phổ biến ......................................................................................8
2.3.1.

Thuật toán Apriori ............................................................................................................8

2.3.2.

Thuật tốn FP-Growth ....................................................................................................10

CHƯƠNG 3: THUẬT TỐN NEGFIN ĐỂ KHAI THÁC CÁC TẬP PHỔ BIẾN ...................13
3.1

Giới thiệu ........................................................................................................................13

3.2

Các định nghĩa ................................................................................................................13
3.2.1 Cấu trúc dữ liệu ..........................................................................................................13
3.2.2 Cấu trúc BMC-tree .....................................................................................................14
3.2.3 Cấu trúc Node-set.......................................................................................................23
3.2.4 Cấu trúc cây liệt kê.....................................................................................................30
3.2.5 Thuật toán negFIN .....................................................................................................33


CHƯƠNG 4: XÂY DỰNG ỨNG DỤNG VÀ KẾT QUẢ THỰC NGHIỆM .............................50
4.1

Môi trường xây dựng ứng dụng ......................................................................................50

4.2

Cơ sở dữ liệu thực nghiệm .............................................................................................50
4.2.1 Tiền xử lý dữ liệu .......................................................................................................50
4.2.2 Định dạng dữ liệu .......................................................................................................52

4.2

Giao diện chương trình ...................................................................................................54

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................................56
5.1

Kết luận ..........................................................................................................................56

5.2

Hướng phát triển .............................................................................................................56

Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

vi



Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

DANH MỤC CÁC BẢNG
Bảng 2.1- CSDL giao dịch .......................................................................................... 6
Bảng 2.2-Bảng thể hiện độ hỗ trợ của các phần tử 1-itemset .................................... 6
Bảng 3.1-Minh họa dữ liệu được biển diễn bằng ma trận bit................................... 14
Bảng 3.2-Thể hiện L1 và index của mỗi item trong tập phổ biến trong ví dụ 1 ........ 24
Bảng 3.3-Thể hiện bit được gán cho mỗi item .......................................................... 25
Bảng 3.4- Bảng thể hiện Nodeset và độ hỗ trợ của 1-itemset từ L1 .......................... 38
Bảng 3.5- Bảng thể hiện level, item-name, itemset và Support của 1-itemset từ L1 . 38
Bảng 4.1-Bảng dữ liệu Sales.SalesOrderDetail ........................................................ 50
Bảng 4.2-Bảng dữ liệu Producttion.Product ............................................................ 51
Bảng 4.3-Bảng thể hiện dữ liệu từ câu truy vấn ....................................................... 51
Bảng 4.4-Bảng thể hiện dữ liệu chuỗi sản phẩm ...................................................... 52
Bảng 4.5-Bảng dữ liệu đã được định dạng ............................................................... 52

Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

vii


Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

DANH MỤC CÁC HÌNH
Hình 2.1-Thuật tốn Apriori ....................................................................................... 9
Hình 2.4- Thuật tốn FP-growth .............................................................................. 11

Hình 3.1-Thuật tốn BMC-tree ................................................................................. 15
Hình 3.2-BMC-tree được lấy dữ liệu từ bảng 2.1 ..................................................... 23
Hình 3.3-Thuật tốn xây dựng cây liệt kê ................................................................. 31
Hình 3.4-Cây liệt kê được xây dựng từ dữ liệu của bảng 2.1 ................................... 32
Hình 3.5-Thuật tốn negFIN ..................................................................................... 33
Hình 3.6-Thuật tốn Constructing Frequent Itemset tree......................................... 37
Hình 3.7-Constructing Frequent Itemset tree được xây dựng từ dữ liệu của bảng 2.1
................................................................................................................................... 49
Hình 4.1-Giao diện chính chương trình .................................................................... 54
Hình 4.2-Giao diện kết quả thực nghiệm với Minsup, Minconfidence và chọn sản
phẩm dự đốn ............................................................................................................ 55

Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

viii


Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

DANH MỤC CÁC KÝ HIỆU VIẾT TẮT
KÍ HIỆU

Ý NGHĨA TIẾNG ANH

Ý NGHĨA TIẾNG VIỆT

CSDL


Database

Cơ sở dữ liệu

FP-Tree

Frequent Pattern Tree

Cây phổ biến

Item

Items

Hạng mục

Itemset

Itemset

Tập hạng mục

minsup

Minsup

Độ phổ biến tối thiểu

support


Support

Độ phổ biến

tid

Transaction ID

Mã giao dịch

Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

ix


Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

MỞ ĐẦU
Ngày nay do sự bùng nổ về công nghệ thông tin và sự phát triển mạnh mẽ của
các hệ thống thông tin phục vụ trong các lĩnh vực của con người. Từ đó phát sinh ra
một khối lượng lớn dữ liệu, thông tin từ nhiều nguồn và lượng thơng tin lưu trữ ngày
càng cao. Chính vì vậy, việc khai thác và sử dụng những dữ liệu, thơng tin đó để đưa
ra những thơng tin và tri thức hữu ích đang là một bài tốn thú vị, đầy hấp dẫn mang
đến nhiều những cơ hội để phát triển cho các công ty và doanh nghiệp.
Trong khai thác dữ liệu, kỹ thuật quan trọng và được nghiên cứ nhiều là khai
thác luật kết hợp. Khai thác tập phổ biến là một trong những bước cơ bản và chiếm
nhiều thời gian trong khai thác luật kết hợp. Và việc khai thác tập phổ biến đề tìm
mối quan hệ giữa các item (phần tử) trong cơ sở dữ liệu (CSDL) là một trong những

lĩnh vực rất quan trọng và ngày càng được áp dụng phổ biến trong nhiều lĩnh vực bởi
vì sự tồn tại rất phổ biến của chúng trong thực tế như: dãy dữ liệu mua sắm, dãy DNA
biểu thị gen, dữ liệu chứng khốn và phân tích thị trường,… Đã có nhiều nghiên cứu
được thực hiện và nhiều thuật toán được đề xuất trong lĩnh vực này. Đã có rất nhiều
những giải thuật nổi tiếng được cơng bố, trong đó có thể kể đến những thuật tốn kinh
điển như Approri (Agrawal & Srikant, 1994), FP-Growth (Han và các đồng sự, 2000).
Các thuật tốn trên đều có ưu và nhược điểm, nhưng chưa thật sự hiệu quả và
phù hợp với lượng lớn dữ liệu hiện nay. Gần đây, Node-list (Deng & Wang,2010) và
N-list (Deng, Wang, & Jiang, 2012) là hai cấu trúc dữ liệu được sử dụng phổ biến, nó
được chứng minh là rất hiệu quả trong việc khai thác tập phổ biến. Vấn đề chính đặt
ra đối với những cấu trúc này là, cả hai thuật toán đều phải mã hóa cho từng nút một
của PPC-Tree với mã pre-order và post-order. Đây là nguyên nhân gây tốn bộ nhớ và
bất tiện trong quá trình khai thác tập phổ biến. Vì vậy, cấu trúc NegNodeset (Nader,
Behrouz & Mohammad, 2018) hiệu quả hơn cho việc khai thác tập phổ biến
NegNodeset được mã hóa bởi bitmap-code, chính điều này giúp cho NegNodeset tiết
kiệm một nửa bộ nhớ so với Node-list và N-list.
Luận văn nhằm tìm hiểu cấu trúc NegNodeset từ đó tập trung vào khai thác
Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

x


Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

tập phổ biến và sinh luật kết hợp để dự đoán hành vi của khách hàng cụ thể là nghiên
cứu, tìm hiểu và cài đặt thực nghiệm thuật toán NegFin trên cơ sở dữ liệu được chuẩn
bị là “AdventureWork” để khai thác tập phổ biến từ đó dự đốn được hành vi mua
hàng của người dùng trên cơ sở dữ liệu này.


Nguyễn Văn Vương, Nguyễn Hoàng Thiên Chí

xi


Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

CHƯƠNG 1: TỔNG QUAN
1.1 Giới thiệu về khai thác dữ liệu
Trong những năm gần đây, cùng với sự phát triển vượt bậc của khoa học và
công nghệ, việc thu nhập và khả năng lưu trữ dữ liệu được nâng cao đáng kể, đồng
nghĩa với việc phát sinh một lượng lớn dữ liệu và ngày càng tăng nhanh về khối lượng
và phát triển mạnh mẽ về quy mơ của các hệ thống thơng tin. Vì thế, chúng ta gặp
vấn đề lớn trong việc phân loại, lựa chọn, khai thác, phân tích một kho dữ liệu khổng
lồ để rút ra các thơng tin hữu ích để ứng dụng và sử dụng để phục vụ cho con người
trong hầu hết mọi lĩnh vực khoa học, kinh tế, xã hội,… gặp nhiều khó khăn nhất định,
vì vậy khái niệm khai phá dữ liệu ra đời để hỗ trợ cho công việc này.
Khai phá dữ liệu (Data Mining) là một trong những thuật ngữ mới xuất hiện
đầu thế kỷ 21, nó là lĩnh vực khoa học liên ngành bao gồm các q trình trích xuất,
khai thác thơng tin và trí thức từ những dữ liệu có giá trị tiềm ẩn từ bên trong lượng
lớn dữ liệu được lưu trữ trong các cơ sở dữ liệu (CSDL), kho dữ liệu, trung tâm dữ
liệu, hệ thống dữ liệu… Đây là lĩnh vực khoa học tiềm năng, mạng lại nhiều lợi ích
thiết thực, đồng thời thể hiện ưu thế vượt trội hơn hẵn so với các cơng cụ phân tích
dữ liệu truyền thống. Hiện nay, trên thế giới khai phá dữ liệu được áp dụng rộng rãi
trên nhiều lĩnh vực như: phân tích dữ liệu tài chính, cơng nghiệp bán lẻ, cơng nghiệp
viễn thơng, phân tích dữ liệu sinh học và một số ứng dụng trong khoa học,… Các
thuật toán khai phá dữ liệu được xây dựng dựa trên việc sử dụng các giải thuật mới,

được định hướng theo nhu cầu sử dụng để có thể tự động giải quyết các bài tốn của
con người trong nhiều lĩnh vực.
Đặc biệt hiện nay việc áp dụng khai phá dữ liệu vào lĩnh vực kinh doanh tại
các cửa hàng để khai thác, dự đoán hành vi mua hàng của khách hàng dựa trên các
phân tích dữ liệu giao dịch, phát hiện các mối liên hệ giữa các tập mục hàng hóa đã
bán ở các cửa hàng ngày càng nhiều. Dựa trên kết quả của quá trình khai thác dữ liệu,
từ đó, cửa hàng có kế hoạch bố trí, sắp xếp các quầy gần nhau để tối ưu hơn doanh
số, doanh thu cho các tổ chức, cá nhân hoặc cũng có thể hỗ trợ tư vấn khách hàng

Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

1


Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

mua hàng. Dựa vào nhu cầu trên, luận văn đã lựa chọn và thực hiện đề tài “Dự đoán
hành vi của khách hàng dựa trên tập phổ biến”.
1.2

Mục tiêu nghiên cứu
Nghiên cứu thói quen mua hàng của người dùng, thông thường là việc nghiên

cứu để đưa ra được những hành vi mang tính phổ biến, những hành vi mang tính quy
luật, những hành vi mang tính phổ biến tuần tự,… trong một khoảng thời gian và
không gian nhất định.
Đối với đề tài này, mục tiêu nghiên cứu là tìm hiểu và ứng dụng thuật tốn
khai thác tập phổ biến, cụ thể là thuật toán NegFIN (Nader and Behrouz and

Mohammad, 2018), trên tập dữ liệu “AdventureWork” để từ đó có thể dự đốn được
hành vi mua hàng của khách hàng trong khoảng thời gian nhất định.
1.3

Nội dung nghiên cứu
Để thực hiện được mục tiêu đề tài đặt ra, cần thực hiện một số nội dung nghiên

cứu chủ yếu sau:
- Nghiên cứu, tìm hiểu và các thuật tốn khai thác các tập phổ biến từ cơ sở dữ
liệu.
- Nghiên cứu, tìm hiểu chi tiết thuật tốn NegFin trong khai thác các tập phổ
biến.
- Thu thập và xử lý cơ sở dữ liệu liên quan đến thói quen mua hàng của người
dung cụ thể là cơ sở dữ liệu AdventureWork.
- Xây dựng chương trình để dự đốn hành vi mua hàng của người dùng dựa
trên thuật giải NegFin với cơ sở dữ liệu AdventureWork.
1.4

Đối tượng nghiên cứu
Nghiên cứu cơ sở dữ liệu và tìm ra đặc tính cần thiết để khai thác. Cụ thể là cơ

sở dữ liệu “AdventureWork”.
Nghiên cứu và khai thác các tập phổ biến từ cơ sở dữ liệu.
Chi tiết thuật toán NegFin.
Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

2


Dự đoán hành vi của khách hàng dựa vào tập phổ biến


Khóa luận tốt nghiệp

Sử dụng ngơn ngữ lập trình để xây dựng chương trình dự đốn hành vi của
khách hàng
1.5

Phương pháp nghiên cứu
Phương pháp nghiên cứu được lựa chọn là nghiên cứu tổng quan về mặt lý

thuyết kết hợp với việc xây dựng chương trình ứng dụng thực nghiệm, cụ thể như
sau:
- Tiến hành thu thập và đọc các tài liệu có liên quan đến đề tài.
- Nghiên cứu tổng quan về khai thác tập phổ biến, luật kết hợp và các khái
niệm có liên quan.
- Nghiên cứu thuật tốn NegFin.
- Xây dựng chương trình thực nghiệm mơ phỏng.
1.6 Cấu trúc luận văn
Chương 1: Tổng quan.
Chương 2: Cơ sở lí thuyết.
Chương 3: Thuật tốn NegFin khai thác tập phổ biến.
Chương 4: Chương trình thực nghiệm.
Chương 5: Kết luận và hướng phát triển.
Luận văn này trình bày trong 5 chương:
Chương 1 giới thiệu chung về bối cảnh, nhu cầu thực tế và khai phá dữ liệu.
Đồng thời định hướng tiếp cận của luận văn.
Chương 2 trình bày cơ sở lý thuyết về khai thác dữ liệu. Trong đó, luận văn
giới thiệu chung về khái niệm, sơ lược các thuật toán khai thác tập phổ biến như
Apiori, FP-Growth là các thuật toán cơ sở để phát triển các thuật toán sau này.


Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

3


Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

Chương 3 trình bày chi tiết cấu trúc dữ liệu Node-set,NegNode-set và thuật
toán NegFin và áp dụng chúng trong khai thác tập phổ biến.
Chương 4 trình bày về mơi trường xây dựng chương trình dự đốn cũng như
kết quả và đánh giá thực nghiệm của chương trình.
Chương 5 trình bày kết luận chung cũng như định hướng phát triển của đề tài.
Cuối cùng là chi tiết về các tài liệu tham khảo để hoàn thành luận văn này.

Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

4


Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

CHƯƠNG 2: TỔNG QUAN VỀ KHAI THÁC DỮ LIỆU
2.1
Giới thiệu sơ lược về khai thác dữ liệu
2.1.1 Khai thác luật kết hợp
Bài toán khai thác luật kết hợp trong CSDL là một trong những chức năng

chính của khai thác dữ liệu, là khai phá các luật kết hợp có độ phổ biến (support)
cũng như độ tin cậy (confidence) lớn hơn hoặc bằng một ngưỡng phổ biến tối thiểu
(minsup) và ngưỡng tin cậy tối thiểu (minconf).
Bài toán khai thác luật kết hợp thường được chia thành 2 giai đoạn:
Giai đoạn 1: Tìm tất cả các tập mục phổ biến từ dữ liệu giao dịch thoả minsup;
Giai đoạn 2: Sinh các luật kết hợp mạnh từ tập mục phổ biến tìm thấy ở giai
đoạn thứ nhất.
Thơng thường giai đoạn thứ nhất chiếm hầu hết thời gian cho quá trình khai
thác luật kết hợp và là giai đoạn quan trọng vì nó là giai đoạn nâng cao hiệu suất trong
khai thác luật kết hợp.
2.1.2 Khai thác tập phổ biến
Khai phá tập phổ biến là quá trình tìm kiếm tập các phần tử có số lần xuất hiện
lớn hơn một ngưỡng cho trước và vấn đề này được R. Agrawal, T. Imielinski và A.
Swami đề xuất năm 1993, xuất phát từ nhu cầu bài tốn phân tích dữ liệu trong cơ sở
dữ liệu giao dịch, nhằm phát hiện các mối quan hệ giữa các tập hàng hóa đã bán tại
siêu thị. Việc xác định này không phân biệt sự khác nhau giữa các hàng hóa, chỉ dựa
vào sự xuất hiện của chúng.
Phần tiếp theo đây nêu một số khái niệm cơ sở liên quan đến bài toán khai thác
luật kết hợp và tập phổ biến.
1.2

Các khái niệm cơ sở

Cho D = {T1, T2,…Tm} là cơ sở dữ liệu giao dịch và I = {i1, i2,…,in} là tập các
phần tử trong cơ sở dữ liệu D. Mỗi giao dịch Ti  I. Tập X  I có k phần tử được gọi
là tập k-phần tử (k-itemset).

Nguyễn Văn Vương, Nguyễn Hoàng Thiên Chí

5



Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

Bảng 2.1- CSDL giao dịch
TID
1
2
3
4
5

Items
e, b, g, d
c, e, b, a
c, b, a, i
a, d, h
a, d, c, b, f

Trong bảng 2.1 là một cơ sở dữ liệu giao dịch gồm có 5 giao dịch trong đó I={a,
b, c, d, e, f, g, h, i} là các phần tử hay còn gọi là item.
Tập 1-itemset gồm {a, b, c, d, e, f, g, h, i};
Tập 2-itemset gồm {ab, ac, ae, af, ag, bc, bd, be, bf, bg, cd, ce, cf, cg, de, df, ef};
Tập 3-itemset gồm {abc, abe,,, ace, agc, bce, bcd, bcf, bde, bdf, bef, cde, cdf, cde,
cdf, cef} tương tự ta có tập 4-itemset, 5-itemset,… k-itemset.
Khái niệm 2.1. (Độ hỗ trợ - Support):
Độ hỗ trợ (support) của itemset 𝑋  𝐼, ký hiệu support(X), là số các giao dịch
trong Ɗ có chứa X.

Ví dụ 1: Xét CSDL giao dịch như Bảng 2.1. {a} có độ phổ biến là 4, kí hiệu
support(a)=4 vì {a} xuất hiện 4 lần trong 5 giao dịch D.Vậy độ hỗ trợ của {a} là 4.
Tương tự, ta có độ hỗ trợ của các tập 1-itemset sau:
Bảng 2.2-Bảng thể hiện độ hỗ trợ của các phần tử 1-itemset
1-itemset
a
b
c
d
e
f
g
h
i

Độ hỗ trợ
4
4
3
3
2
1
1
1
1

Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

6



Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

Khái niệm 2.2. (Tập phổ biến):
Tập phần tử X được gọi là tập phổ biến nếu có support(X) ≥ minsup, với minsup
là ngưỡng hỗ trợ tối thiểu cho trước.
Ví dụ 2: Xét CSDL như bảng 2.1 có ngưỡng minsup là 2 nếu x có độ hỗ trợ
support(x) nhỏ hơn 2, sẽ bị loại. Ta gọi I là tập 1-itemset, ta được:
I = {a, b, c, d, e} là tập phổ biến và các item g, h, i không là tập phổ biến do
support(g) = support(h) = support(i) = 1 < minsup
Khái niệm 2.3. (Luật kết hợp) Tập phổ biến thường dùng để sinh luật kết
hợp. Luật kết hợp với dạng X → Y, với X, Y là hai tập phần tử, được xác định thông
qua hai khái niệm độ hỗ trợ và độ tin cậy của luật được định nghĩa như sau:
Khái niệm 2.4.(Độ hỗ trợ của một luật (support))
Độ hỗ trợ của luật X → Y trong cơ sở dữ liệu D là tỉ lệ giữa số các giao dịch
T  D có chứa X  Y và tổng số giao dịch trong D, kí hiệu là Support(X  Y).
𝑆𝑢𝑝𝑝𝑜𝑟𝑡 (𝑋 ∪ 𝑌) =

|{𝑋  𝑌  𝑇𝑖 | 𝑇𝑖 ∈ 𝐷}|
|𝐷|

Ví dụ 3: Độ hỗ trợ của luật X → Y = 40%, có nghĩa là 40% trong tất cả các
giao dịch X và Y được mua cùng nhau.
Khái niệm 2.5.(Độ tin cậy của một luật (confidence))
Độ tin cậy của luật X → Y là tỉ số của số giao dịch trong D, kí hiệu là:
Confidence(X →Y), chứa X  Y và số giao dịch trong D có chứa tập X.
𝐶𝑜𝑛𝑓𝑖𝑑𝑒𝑛𝑐𝑒 (𝑋 →𝑌) =


𝑆𝑢𝑝𝑝𝑜𝑟𝑡(𝑋∪𝑌)
𝑆𝑢𝑝𝑝𝑜𝑟𝑡(𝑋)

Ví dụ 4: Độ tin cậy của luật X → Y = 70%, có nghĩa là 70% khách hàng mua
X cũng mua Y.
Luật X →Y được gọi là tin cậy nếu có Confidence(X →Y) ≥ minconf, với
minconf là ngưỡng tin cậy tối thiểu cho trước.
Tập phổ biến có một số tính chất sau:
Tính chất 2.1. (Tính chất đóng của tập phần tử) Giả sử X, Y là hai tập phần
tử, X, Y  I. Nếu Y là tập phổ biến và X  Y thì X cũng là tập phổ biến.
Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

7


Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

Tính chất 2.2. Cho X, Y là hai tập phần tử, X  Y và X là tập khơng phổ biến
thì Y cũng là tập khơng phổ biến.
Ví dụ 5: Xét CSDL như bảng 2.1 có ngưỡng minsup là 2.
Xép tập mục X = {a,b,c} , support(X) = 3 ≥ minsup. Ta được X={a,b,c} là tập phổ
biến theo ngưỡng minsup = 2.
Theo tính chất 2.1 thì tất cả tập con của X = {a,b,c} cũng là tập phổ biến:
support (a) = 4, support (b) = 4, support (c) = 3, support (ab) = 3, support (ac) = 3,
support (bc) = 3 ≥ minsup.
Tương tự, với X= {g}, support(X) = 1 < minsup. Ta được X={g} là tập khơng phổ
biến theo ngưỡng minsup = 2.
Theo tính chất 2.2 thì tất cả tập con của X = {g} cũng không là tập phổ biến với

support(gh) = 1 < minsup.
2.3 Các thuật toán khai thác tập phổ biến
2.3.1. Thuật tốn Apriori:
Phương pháp sinh ứng viên để tìm tập phổ biến được Agrawal đề xuất từ năm
1993 với thuật toán Apriori. Ý tưởng của thuật toán Apriori dựa trên kết luận: nếu
một tập phần tử là tập phổ biến thì tất cả tập con của nó cũng phải phổ biến (tính
chất 2.1 – tập phổ biến). Do vậy khơng thể có trường hợp một tập phổ biến có tập
con là khơng phổ biến hay nói cách khác tập phổ biến nhiều danh mục hơn chỉ có thể
được tạo ra từ các tập phổ biến ít danh mục hơn. Nguyên lý hoạt động cơ bản của
thuật toán Apriori như sau:
− Bắt đầu từ các tập phổ biến chỉ có một danh mục.
- Dùng tập phổ biến kích thước k-itemset để tạo các tập ứng cử k-itemset
- Duyệt cơ sở dữ liệu và đối sánh mẫu để đếm số lần xuất hiện của các tập ứngviên
trong các giao dịch, nếu số lần xuất hiện của tập ứng viên lớn hơn hoặc bằng
minsup thì là tập phổ biến, ngược lại khơng phải tập phổ biến.
Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

8


Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

− Q trình lặp lại cho đến khi khơng cịn tập phổ biến nào được tạo ra.
Thuật toán Apriori
Input: cơ sở dữ liệu D, minsup
Output: L
L1 ={tập hợp 1 danh mục};
For (k = 2; Lk-1 ≠ ; k++) do begin

3)

Ck = apriori-gen (Lk-1); // Tạo ứng viên mới.

4)

For all giao dịch t  D do begin //duyệt CSDL

5)

Ct = subset(Ck, t); //các tập danh mục ứng viên có trong giao dịch t

6)

For all ứng viên c  Ct do

7)

c. count ++;

8)

End

9)

Lk = {c  Ck | c.count ≥ minsup}
End
Answer = k Lk; // Trả về tập hợp của các tập phổ biến
Hình 2.1-Thuật tốn Apriori


Diễn giải thuật toán:
- Bước đầu tiên của thuật toán đơn giản chỉ tính các danh mục xuất hiện để xác định
tập hợp của các tập phổ biến 1-itemset.
- Lặp bước k :
+ Tập hợp Lk-1 được sử dụng để tạo nên tập ứng viên Ck : sử dụng hàm apriorigen được miêu tả là hàm lấy Lk-1 (tập hợp của các tập phổ biến k-itemset )là
đầu vào và trả về Ck là tập hợp của tất cả các tập chứa k-itemset phát sinh từ
tập hợp Lk-1 bằng cách hợp các tập 1-itemsettrong tập hợp Lk-1. Chú ý một
ứng viên thuộc Ck thì tất cả các tập con của ứng viên đó phải có mặt trong
Lk-1 (theo tính chất 2.2 của tập phổ biến)
+ Bước kế tiếp, duyệt CSDL để tính độ phổ biến của các ứng viên trong tập
hợp Ck. Từ đó, tính được tập hợp Lk.
Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

9


Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

+ Nếu Lk = ∅ thì dừng lại.
- Hợp của các Lk chính là các tập phổ biến cần tìm.
Hạn chế của thuật tốn Apriori:
Để xác định độ phổ biến của các tập ứng viên, thuật tốn Apriori phải qt lại
tồn bộ giao dịch trong CSDL, do đó sẽ tiêu tốn rất nhiều thời gian khi phải quét CSDL
nhiều lần để kiểm tra một lượng lớn các ứng viên, đặc biệt khi số danh mục lớn.
Để khắc phục hạn chế phát sinh tập ứng viên quá lớn của thuật toán Apriori, các
nhà nghiên cứu đã đề nghị xây dựng cây FP-Tree và thuật toán FP-Growth ra đời
nhằm khai thác tập phổ biến mà không phát sinh các tập ứng viên.


2.3.2. Thuật toán FP-Growth
Thuật toán Apriori (Agrawal, 1993) được coi là thuật toán nền tảng về khai
thác tập phổ biến bằng cách sử dụng kỹ thuật tỉa để rút gọn kích thước của các tập ứng
viên. Tuy nhiên,thuật tốn gặp phải hai chi phí lớn: sinh ra số lượng khổng lồ các tập
ứng viên, phải duyệt cơ sở dữ liệu nhiều lần.
Để khắc phục những chi phí lớn của thuật tốn Apriori, nhóm tác giả Jiawei
Han, Jian Pei và Yiwen Yin đã đề xuất thuật toán FP-Growth vào năm 2000. Thuật toán
này sử dụng một cấu trúc cây FP-Tree để lưu trữ thông tin tập phổ biến của dữ liệu
gốc ở một dạng nén trong bộ nhớ và dùng phương pháp duyệt cây theo chiều rộng để
tìm tập phổ biến. Kỹ thuật xây dựng cây FP-Tree như sau:
Bước 1:
Duyệt CSDL, lấy ra tập các hạng mục phổ biến X và tính độ phổ biến của chúng
Sắp xếp các hạng mục trong tập X theo thứ tự giảm dần của độ phổ biến, ta đượctập
kết quả là L.
Bước 2:
Tạo nút gốc cho cây T và tên của nút gốc sẽ là Null.
Sau đó duyệt CSDL lần thứ hai. Ứng với mỗi giao dịch trong CSDL thực hiện 2
côngviệc sau:
Chọn các hạng mục phổ biến trong các giao dịch và sắp xếp chúng theo thứ tự
Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

10


Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

giảm dần độ phổ biến trong tập L

Gọi hàm Insert_tree([p|P],T) để đưa các hạng mục vào trong cây T

Ý tưởng:
Xây dựng cây FP-Tree để nén dữ liệu. Những nút trong cây được gán nhãn bằng
tên các hạng mục và được sắp xếp theo tần suất xuất hiện của các hạngmục.
Thiết lập cơ sở điều kiện cho mỗi phần tử phổ biến (mỗi nút trên cây FP- Tree).
Thiết lập cây FP-Tree điều kiện từ cơ sở điều kiện đó.
Khai thác đệ quy cây FP-Tree điều kiện để xác định tập phổ biến.
Thuật tốn
Procedure FP-growth(Tree, α)
If Tree có chứa một đường đi đơn P then
for mỗi tổ hợp    với sup=min(sup của các nút trong )
Else for mỗi I trên bảng header của cây
(Tree)Tạo mẫu  = I   với sup=sup(I)
Xây dựng cơ sở điều kiện cho β và sau đó xây dựng cây FP Treeβ
theo điều kiện của β
if Treeβ ≠  then FP-growth(Treeβ, β)

Hình 2.2- Thuật tốn FP-growth
Nhận xét thuật tốn FP-Growth:
Ưu điểm:
-

Hiệu quả hơn so với Apriori.

-

Phân chia và kiểm soát quá trình xử lý.

-


Sử dụng cây FP-Tree để biểu diễn các mẫu phổ biến thì dữ liệu giảm rất đáng

Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

11


Dự đoán hành vi của khách hàng dựa vào tập phổ biến

Khóa luận tốt nghiệp

kể so với cách biểu diễn trong CSDL.
Nhược điểm:
-

Không thể xây dựng cây FP-Tree trong bộ nhớ chính khi CSDL là lớn.

-

Mất nhiều thời gian và gặp trở ngại khi cập nhật lại cây khi cây tăng trưởng về
mặt kích thước.

Nguyễn Văn Vương, Nguyễn Hồng Thiên Chí

12


×