Tải bản đầy đủ (.docx) (16 trang)

BÁO CÁO BÀI TẬP LỚN HỌC PHẦN KHAI PHÁ DỮ LIỆU ĐỀ TÀI PHÂN TÍCH GIỎ THỊ TRƯỜNG CHO CỬA HÀNG TIỆN LỢI

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 (630.32 KB, 16 trang )

TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN
TẢI KHOA CÔNG NGHỆ THÔNG TIN
o0o

BÁO CÁO BÀI TẬP LỚN
HỌC PHẦN: KHAI PHÁ DỮ LIỆU

ĐỀ TÀI: PHÂN TÍCH GIỎ THỊ TRƯỜNG
CHO CỬA HÀNG TIỆN LỢI

Giảng viên hướng dẫn: Nguyễn Quốc Tuấn
Lớp: Công nghệ thông tin 3 – K60
Nhóm sinh viên thực hiện: 28
Trần Quang Lực

191202533

Lê Minh Đức

191210306

Nguyễn Ngọc Sơn

191204020

Hứa Khắc Hiếu

191214158

Hà Nội, tháng 11, năm 2022



Mục Lục
CHƯƠNG 1: LÝ THUYẾT VỀ KHAI PHÁ DỮ LIỆU VỚI QUY LUẬT
LIÊN KẾT............................................................................................................3
1.1. Khái niệm.....................................................................................................3
1.2. Ứng dụng trong Marketing...........................................................................3
1.3. Ví dụ.............................................................................................................4
1.4. Thuật tốn.....................................................................................................5
1.4.1

Thuật tốn Apriori..................................................................................5

1.4.2

Thuật tốn FP Growth............................................................................7

CHƯƠNG 2: ÁP DỤNG THUẬT TỐN APRIORI ĐỂ PHÂN TÍCH GIỎ
THỊ TRƯỜNG CHO CỬA HÀNG TIỆN LỢI GROCERIES........................9
2.1. Giới thiệu về bài tốn...................................................................................9
2.2. Mơ tả dữ liệu................................................................................................ 9
2.3. Kết quả khai thác luật kết hợp bằng thuật toán Apriori............................. 10
2.4. Kết luận...................................................................................................... 15
2.5

Tài liệu tham khảo......................................................................................16

2.6 Phân công công việc......................................................................................16


CHƯƠNG 1: LÝ THUYẾT VỀ KHAI PHÁ DỮ LIỆU VỚI QUY LUẬT

LIÊN KẾT
1.1. Khái niệm
Khai phá quy tắc kết hợp được sử dụng khi bạn muốn tìm mối liên kết giữa
các đối tượng khác nhau trong một tập hợp, tìm các mẫu thường xuyên trong cơ
sở dữ liệu giao dịch, cơ sở dữ liệu quan hệ hoặc bất kỳ kho thông tin nào khác.
Các ứng dụng của Khai thác theo quy tắc liên kết được tìm thấy trong Marketing,
Phân tích dữ liệu giỏ hàng (hoặc Phân tích giỏ thị trường) trong bán lẻ, phân
nhóm và phân loại. Nó có thể cho bạn biết những mặt hàng mà khách hàng
thường mua cùng nhau bằng cách tạo ra một bộ quy tắc được gọi là Quy tắc liên
kết. Nói cách đơn giản, nó cung cấp cho bạn đầu ra dưới dạng các quy tắc ở dạng
nếu cái này thì cái kia.
1.2. Ứng dụng trong Marketing
• Trong khai thác dữ liệu, các quy tắc kết hợp rất hữu ích để phân tích và dự đốn
hành vi của khách hàng. Họ đóng một phần quan trọng trong phân tích khách
hàng, phân tích giỏ thị trường, phân nhóm sản phẩm, thiết kế danh mục và bố trí
cửa hàng.
• Phương pháp khai phá luật kết hợp (phân tích giỏ thị trường hoặc phân tích
mối quan hệ) phổ biến trong tiếp thị cho các sản phẩm bán chéo có liên quan đến
một mặt hàng mà người tiêu dùng đang cân nhắc.
• Trong quy tắc kết hợp, mục tiêu là xác định các cụm mục trong cơ sở dữ liệu
kiểu giao dịch. Khám phá quy tắc liên kết trong Marketing được gọi là “cơ
chế hoạt động của giỏ thị trường” và nhằm mục đích khám phá những nhóm sản
phẩm nào có xu hướng được mua cùng nhau. Những mặt hàng này sau đó có
thể hiển thị cùng nhau, được cung cấp trong phiếu giảm giá sau giao dịch


hoặc được đề xuất trong mua sắm trực tuyến.
Có thể sử dụng các quy tắc đó cho nhiều chiến lược Marketing:
1. Thay đổi bố cục cửa hàng theo xu hướng
2. Phân tích hành vi khách hàng

3. Thiết kế danh mục
4. Marketing chéo trên các cửa hàng trực tuyến
5. Các mặt hàng thịnh hành mà khách hàng mua là gì
6. Email tùy chỉnh với bán hàng bổ sung
1.3. Ví dụ
• Một ví dụ cổ điển về khai thác quy tắc kết hợp đề cập đến mối quan hệ giữa tã và
bia. Ví dụ, có vẻ là hư cấu, tun bố rằng những người đàn ông đến cửa hàng để
mua tã cũng có khả năng mua bia. Dữ liệu trỏ tới đó có thể trơng như thế này:
Một siêu thị có 200.000 khách hàng giao dịch. Khoảng 4.000 giao dịch, tức
khoảng 2% tổng số giao dịch, bao gồm cả việc mua tã. Khoảng 5.500 giao dịch
(2,75%) bao gồm mua bia. Trong số đó, khoảng 3.500 giao dịch, chiếm 1,75%,
bao gồm cả mua tã và bia. Dựa trên tỷ lệ phần trăm, con số lớn đó phải thấp
hơn nhiều. Tuy nhiên, thực tế là khoảng 87,5% các lần mua tã bao gồm mua bia
cho thấy mối liên hệ giữa tã và bia. Vì vậy siêu thị có thể đặt tã và bia ở gần
nhau để tăng số lượng hàng được bán.
• Bán lẻ: Các nhà bán lẻ có thể thu thập dữ liệu về các hình thức mua hàng, ghi lại
dữ liệu mua hàng khi mã vạch mặt hàng được quét bởi hệ thống điểm bán hàng.
Các mơ hình học máy có thể tìm kiếm sự đồng xuất hiện trong dữ liệu này để xác
định sản phẩm nào có nhiều khả năng được mua cùng nhau nhất. Sau đó, nhà
bán lẻ có thể điều chỉnh chiến lược tiếp thị và bán hàng để tận dụng thông tin


này.
• Thiết kế trải nghiệm người dùng (UX): Các nhà phát triển có thể thu thập dữ
liệu về cách người tiêu dùng sử dụng trang web do họ tạo. Sau đó, họ có thể sử
dụng các liên kết trong dữ liệu để tối ưu hóa giao diện người dùng trang web
- bằng cách phân tích nơi người dùng có xu hướng nhấp vào và điều gì tối đa hóa
cơ hội họ tương tác với lời kêu gọi hành động, chẳng hạn.
• Giải trí: Các dịch vụ như Netflix và Spotify có thể sử dụng các quy tắc liên kết
để thúc đẩy động cơ đề xuất nội dung của họ. Mô hình học máy phân tích dữ liệu

hành vi của người dùng trong quá khứ để tìm các mẫu thường xuyên, phát triển
các quy tắc liên kết và sử dụng các quy tắc đó để đề xuất nội dung mà người
dùng có khả năng tương tác hoặc tổ chức nội dung theo cách có khả năng đưa nội
dung thú vị nhất cho một người dùng nhất định đầu tiên.
1.4. Thuật toán
1.4.1 Thuật tốn Apriori

• Apriori là thuật tốn khai phá tập mục thường xuyên do R. Agrawal và R.
Srikant đề xuất vào năm 1993. Thuật tốn Apriori cịn là nền tảng cho việc
phát triển nhiều thuật toán khai phá tập mục thường xuyên khác về sau.


• Giả sử các mục dữ liệu trong mỗi giao tác được lưu theo trật tự từ điển.
Thuật toán sử dụng các ký hiệu sau: (Xem bảng).

• Ý tưởng chính của thuật toán như sau: Sinh ra các tập mục ứng viên từ các
tập mục thường xuyên ở bước trước, sử dụng kỹ thuật “tỉa” để bỏ đi
những tập mục ứng viên không thoả mãn ngưỡng hỗ trợ cho trước. Cơ sở
của kỹ thuật này là tính chất Apriori: Bất kỳ tập con nào của tập mục
thường xuyên cũng phải là tập mục thường xuyên. Vì vậy, các tập mục ứng
viên gồm k mục có thể được sinh ra bằng cách kết nối các tập mục thường
xuyên có (k-1) mục và loại bỏ tập mục ứng viên nếu nó có chứa bất kỳ một
tập con nào không phải là thường xuyên.


• Thuật toán duyệt cơ sở dữ liệu nhiều lần. Mỗi lần duyệt, thuật toán thực
hiện hai bước: bước kết nối và bước tỉa. Trong lần lặp thứ k, thuật toán nối
hai (k-1) - tập mục để sinh ra k - tập mục, sử dụng tính chất Apriori để tỉa
các tập ứng viên.
1.4.2 Thuật tốn FP Growth


• Thuật tốn Apriori có chi phí lớn nhưng lại kém hiệu quả. Để khắc phục
nhược điểm này, J. Han, J Pei, Y. Yin và R. Mao đề xuất thuật toán FPgrowth. Thuật toán FP-growth được xây dựng với 3 kỹ thuật chính:
1) Nén dữ liệu thích hợp vào một cấu trúc cây gọi là cây FP-tree. Chỉ có
các 1- tập mục (1-item) ở trong cây và các nút của cây được sắp
xếp để các nút xuất hiện thường xuyên hơn có thể dễ dàng chia sẻ với
các nút xuất hiện ít hơn.
2) Thực hiện phương pháp khai phá phát triển (growth) từng đoạn dựa
trên cây FP-tree gọi là phương pháp FP-growth.
3) Kỹ thuật tìm kiếm được dùng ở đây là dựa vào sự phân chia, “chia để
trị”, phân rã nhiệm vụ khai phá thành các nhiệm vụ nhỏ hơn.
• Thuật tốn FP-growth do nén toàn bộ CSDL lên một cấu trúc dữ liệu nhỏ
hơn là cây FP-tree nên tránh được việc duyệt nhiều lần CSDL (thuật toán
chỉ duyệt cơ sở dữ liệu 2 lần). Tiếp theo thuật toán khai phá cây bằng cách
phát triển dần các mẫu mà không sinh các tập mục ứng viên, do đó tránh
được khối lượng tính tốn lớn. Phương pháp FP- growth đã chứng tỏ được
tính hiệu quả của nó và có thể thực hiện khai phá cho cả các mẫu ngắn và
dài, nhanh hơn thuật toán Apriori, ln chỉ cần duyệt CSDL 2 lần.
• Thuật tốn FP- growth thực hiện như sau: Đầu tiên, thuật toán duyệt
CSDL lần thứ nhất để tính độ hỗ trợ của từng mục (đếm số lần xuất hiện
của từng mục).
• Tiếp đến, những mục không đủ độ hỗ trợ bị loại. Các mục còn lại được
sắp theo thứ tự giảm dần của độ hỗ trợ (cũng tức là giảm dần theo số lần


xuất hiện trong CSDL), ta nhận được danh sách L các mục đã sắp.
• Duyệt CSDL lần thứ hai, với mỗi giao tác t, loại các mục không đủ độ
hỗ trợ, các mục còn lại theo thứ tự giống như xuất hiện trong L (tức là
thứ tự giảm dần theo độ hỗ trợ) được cất vào cây FP-tree.
• Phần tiếp theo thuật tốn khai phá tìm các mẫu thường xun trên cây

FP- tree đã xây dựng mà không cần duyệt lại CSDL nữa.
• Thuật tốn kinh điển Apriori tìm tập mục thường xuyên theo cách sinh ra
các ứng cử viên và duyệt CSDL để kiểm tra, thuật tốn FP-growth khơng
khai phá theo cách của thuật toán Apriori mà nén các giao tác của CSDL
lên cấu trúc cây FP- Tree, sau đó thực hiện khai phá trên cây này. Thuật
tốn sinh luật từ tập mục thường xuyên cũng đã được trình bày cụ thể.


CHƯƠNG 2: ÁP DỤNG THUẬT TỐN APRIORI ĐỂ PHÂN TÍCH GIỎ
THỊ TRƯỜNG CHO CỬA HÀNG TIỆN LỢI GROCERIES.
2.1. Giới thiệu về bài toán
Hiện nay, các cửa hàng tiện lợi đang ngày một phát triển. Các khách
hàng đến với cửa hàng sẽ có những lựa chọn sản phẩm khác nhau. Vậy cửa hàng
nên sắp xếp các sản phẩm như thế nào để khách hàng thuận tiện nhất khi tìm kiếm
sản phẩm tại cửa hàng và sắp xếp ra sao để cửa hàng tăng doanh thu cho từng loại
sản phẩm? Điều này cũng là một trong những băn khoăn của cửa hàng tiện lợi
Groceries. Nhóm đã áp dụng thuật tốn phân tích giỏ thị trường để tìm ra mối liên
hệ giữa các items của khách hàng khi đến với cửa hàng và đưa ra đề xuất cho cửa
hàng những sản phẩm nào được chọn mua nhiều nhất và nên đặt những sản phẩm
nào cạnh nhau.
2.2. Mơ tả dữ liệu
• Dữ liệu đầu vào của bài toán là file excel lưu trữ giao dịch của các khách
hàng khi đến cửa hàng Groceries trong vòng 2 năm 2014 -2015. Mỗi khách
hàng khi đến cửa hàng sẽ có mua những sản phẩm khác nhau.


• Dữ liệu của mỗi khách hàng bao gồm :Member number, Date và
Item Description. Dưới đây là ví dụ về 28 dữ liệu đầu tiên:

− Theo như bảng số liệu thì mỗi dịng ứng với một khách hàng với

Member Number, Date và Item Description. Bộ dữ liệu bao gồm
38765 khách hàng.
2.3. Kết quả khai thác luật kết hợp bằng thuật toán Apriori
− Sau khi đưa bộ dữ liệu vào phần mềm R-studio, nhóm đã tiến hành đọc
bộ dữ liệu và làm sạch bộ dữ liệu.


− Nhóm tiến hành nhóm tất cả các mặt hàng đã được mua lại với nhau trong
cùng một ngày và đây là kết quả thu được:

− Nhóm sử dụng hàm read.transaction() để chuyển dữ liệu từ dạng
data.frame sang dạng liệt kê sản phẩm (item) thì thấy có tổng số 14964
giao dịch với 168 sản phẩm khác nhau.


− Sử dụng thuật toán Apriori cho ra tổng số 450 quy tắc được tạo ra từ bộ dữ
liệu. Dưới đây là nhóm kiểm tra 20 quy tắc đầu tiên của rổ.


− Chẳng hạn ở quy tắc đầu tiên: 15,68% whole milk được mua khi khách
hàng mua frozen fish. Mức tăng của quy luật này là 0,9933 (mức tăng
nhỏ hơn 1) cho thấy rằng việc mua frozen fish trước làm giảm cơ hội
mua whole milk trong cùng một giao dịch.
Dưới đây là biểu đồ 10 sản phẩm xuất hiện nhiều nhất trong giỏ hàng:

• Có thể thấy rằng whole milk là sản phẩm được khách hàng mua nhiều nhất.
Ngoài ra sữa, các mặt hàng bánh, rau và trái cây cũng là những lựa chọn
hàng đầu của khách hàng khi đến cửa hàng.



• Thấy được whole milk là sản phẩm có số lượng tiêu thụ cao nhất nên nhóm
đã tìm các sản phẩm có liên kết cao với whole milk. Do đó các luật chỉ
chứa “whole milk” bên vế phải của luật (rhs: right – hand side) với ít nhất
2 items ta nhận được 74 quy luật liên quan đến whole milk. Sau khi loại bỏ
các luật thừa thì cịn lại 5 luật như sau:

Đồ thị biểu diễn 5 quy luật trên:


− Từ đồ thị trên ta thấy được mức tăng khi mua các sản phẩm whole milk, yogurt
và sausage trong cùng một giao dịch là cao nhất.

− Để thấy rõ hơn hãy xem biểu đồ tọa độ song song sau:

2.4. Kết luận


Sử dụng thuật toán Apriori trong R-studio cho bộ dữ liệu Groceries nhóm
đã thấy được mối liên hệ giữa sausage, yogurt, whole milk là mạnh nhất.
Từ đấy nhóm kiến nghị cửa hàng Groceries nên xếp các sản phẩm trên ở
gần nhau.


2.5 Tài liệu tham khảo
• 2011 Data Mining - Concepts and Techniques (3rd Ed)
• R & RStudio tutorial
2.6 Phân cơng cơng việc
STT Cơng việc

Người thực hiện


Ghi chú

1

Tìm hiểu dữ liệu để xác định
yêu cầu dữ liệu

Trần Quang Lực
Lê Minh Đức

20/11/2022

2

Tìm hiểu về thuật toán Apriori

Nguyễn Ngọc Sơn
Hứa Khắc Hiếu

20/11/2022

3

Triển khai bài toán

Nguyễn Ngọc Sơn
Hứa Khắc Hiếu
Lê Minh Đức


25/11/2022

4

Làm báo cáo

Trần Quang Lực

26/11/2022



×