Thuật toán Apriori là mộttrong những thuật toán học máy không giám sát đối với các quy tắc tìm ra luật kết hợp.Thuật toán apriori có thể được áp dụng cho tập hợp các giao dịch của các nh
Trang 1TRƯỜNG ĐẠI HỌC PHƯƠNG ĐÔNG
KHOA CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG
BÀI TẬP LỚN MÔN: KHAI PHÁ DỮ LIỆU LỚN
ĐỀ TÀI: ỨNG DỤNG THUẬT TOÁN APRIORI PHÂN TÍCH GIỎ HÀNG CHO CỬA HÀNG TIỆN LỢI WINMART
Lớp: 520107 Sinh viên thực hiện: Phạm Ngọc Đạt (520107006)
Nguyễn Thị Nhung (520107028)
Hà Nội, 12/2023
Trang 2MỤC LỤC
DANH MỤC HÌNH ẢNH 4
DANH MỤC BẢNG 5
MỞ ĐẦU 6
1 LÝ DO CHỌN ĐỀ TÀI 6
2 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 7
2.1 Đối tượng nghiên cứu 7
2.2 Phạm vi nghiên cứu 7
3 MỤC TIÊU VÀ NHIỆM VỤ NGHIÊN CỨU 7
3.1 Mục tiêu nghiên cứu 7
3.2 Nhiệm vụ nghiên cứu 8
4 PHƯƠNG PHÁP NGHIÊN CỨU 8
CHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ KHAI PHÁ DỮ LIỆU 9
1.1 TẠI SAO PHẢI KHAI PHÁ DỮ LIỆU? 9
1.2 KHAI PHÁ DỮ LIỆU LÀ GÌ? 9
1.2.1 Khái niệm 9
1.2.2 Lợi ích của khai phá dữ liệu 10
1.2.3 Quá trình khám phá tri thức 10
1.2.4 Các nhiệm vụ chính của khai phá dữ liệu 12
1.3 CÁC KỸ THUẬT KPDL 12
1.4 ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU 13
1.5 CÁC CÔNG CỤ THỰC HIỆN KHAI PHÁ DỮ LIỆU 16
1.6 NHỮNG THÁCH THỨC TRONG ỨNG DỤNG VÀ NGHIÊN CỨU KỸ THUẬT KHAI PHÁ DỮ LIỆU 17
1
Trang 3CHƯƠNG 2: LÝ THUYẾT VỀ LUẬT KẾT HỢP VỚI THUẬT TOÁN APRIORI 19
2.1 TỔNG QUAN VỀ LUẬT KẾT HỢP 19
2.1.1 Cơ sở dữ liệu giao dịch 19
2.1.2 Tập phổ biến 19
2.1.3 Quy trình khai thác luật kết hợp 20
2.1.4 Tập phổ biến cực đại 21
2.2 THUẬT TOÁN APRIORI 21
2.2.1 Ý tưởng 21
2.2.2 Khai phá luật kết hợp với Apriori 21
2.2.3 Quy trình khai thác luật kết hợp 22
2.3 ỨNG DỤNG 22
2.4 ƯU ĐIỂM VÀ NHƯỢC ĐIỂM CỦA KHAI THÁC LUẬT KẾT HỢP BẰNG PHƯƠNG PHÁP APRIORI 26
CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN APRIORI ĐỂ PHÂN TÍCH GIỎ HÀNG CHO CỬA HÀNG TIỆN LỢI WINMART 27
3.1 PHÁT BIỂU BÀI TOÁN 27
3.2 PHÂN TÍCH BÀI TOÁN 28
3.3 CÁC BƯỚC THỰC HIỆN LUẬT KẾT HỢP APRIORI 30
3.3.1 Chuẩn bị dữ liệu 30
3.3.2 Tiền xử lý dữ liệu 32
3.3.3 Các bước thực hiện 36
3.3.4 Chạy dữ liệu trên weka 44
3.4 KẾT QUẢ VÀ ĐÁNH GIÁ 52
3.4.1 Tổng quan về dữ liệu 52
3.4.2 Kết quả của thuật toán Apriori chạy trên Weka 54
2
Trang 43.4.3 Đánh giá thuật toán thuật toán Apriori 56
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 58
3
Trang 5DANH MỤC HÌNH ẢNH
Hình 1.1 Quá trình khám phá tri thức 10
Hình 3.1 Tập dữ liệu giỏ hàng WinMart 31
Hình 3.2 Các mặt hàng được mua 32
Hình 3.3 Tập dữ liệu mẫu 33
Hình 3.4 Tập dữ liệu mẫu sau khi chuyển đổi 33
Hình 3.5 Mã hóa dữ liệu bằng kỹ thuật one-hot encoding 34
Hình 3.6 File dữ liệu mẫu sau khi làm sạch 36
Hình 3.7 bảng transaction ID id sản phẩm 37
Hình 3.8 File dữ liệu sau khi transaction ID 37
Hình 3.9 Giao diện weka 45
Hình 3.10 Chức năng chính của Weka 46
Hình 3.11 Import thành công file data_chuan_apriok.csv 47
Hình 3.12 File data đã được làm sạch 48
Hình 3.13 Thuật toán Apriori 48
Hình 3.14 Thiết lập tham số 49
Hình 3.15 Kết quả bài toán với Minsupp = 2%, minconf = 50% 50
Hình 3.16 Kết quả bài toán với Minsupp = 2%, minconf = 60% 51
Hình 3.17 Kết quả bài toán với Minsupp = 2%, minconf = 70% 51
Hình 3.18 Kết quả bài toán với Minsupp = 2%, minconf = 80% 51
Hình 3.19 Kết quả bài toán với Minsupp = 1%, minconf = 20% 52
Hình 3.20 Biểu đồ thể hiện số lượng các mặt hàng được mua 53
Hình 3.21 Biểu đồ thể hiện số mặt hàng thường được mua trong 1 đơn hàng 54
4
Trang 6DANH MỤC BẢNG
Bảng 3.1 Tỉ lệ % xuất hiện của dữ liệu mẫu 34
Bảng: 3.2 Với k = 1 37
Bảng: 3.3 Với k = 2 38
Bảng: 3.4 Với k = 3 43
5
Trang 7Sự tồn tại của dữ liệu lớn rất quan trọng để sử dụng đúng cách trong việc trích xuấtkiến thức ẩn trong kho dữ liệu data mart, hoặc kho lưu trữ Thuật toán Apriori là mộttrong những thuật toán học máy không giám sát đối với các quy tắc tìm ra luật kết hợp.Thuật toán apriori có thể được áp dụng cho tập hợp các giao dịch của các nhóm kháchhàng tìm mối liên hệ giữa các sản phẩm.
Trong những năm gần đây, kỹ thuật khai phá dữ liệu và phân lớp đã được ápdụng thành công trong việc đề xuất mô hình hỗ trợ khác nhau để nâng cao chất lượngdịch vụ bán lẻ
Tác giả Eni Heni Hermaliani [1] đã sử dụng thuật toán Apriori để hỗ trợ tìm raquy luật mua bán sản phẩm trái cây Tác giả J.Silva [2] bằng cách sử dụng thuật toánApriori để khai phá quy tắc liên kết để phân khúc khách hàng trong khu vực doanhnghiệp vừa và nhỏ Nhóm tác giả M Kavitha và Subbaiah [3] đã sử dụng thuật toánApriori để trích xuất sản phẩm trong cửa hàng tạp hóa
Mục đích nghiên cứu nhằm xác định mức độ mà thuật toán Apriori có thể giúp sựphát triển chiến lược tiếp thị, có được mô hình liên kết và xác định các sản phẩm bán chạynhất Do vai trò rất quan trọng trong việc phát triển chiến lược tiếp thị, chủ đề
6
Trang 8nghiên cứu để tìm hiểu sâu rộng về các mô hình để xác định quy luật, xác định đượcsản phẩm bán chạy… đã tăng nhanh trong những năm qua Gần đây, có một vài môhình phân lớp được nghiên cứu, đề xuất để hỗ trợ các nhà nghiên cứu trong việc xâydựng mô hình xác định quy luật, sản phẩm bán chạy Tuy nhiên, ở thời điểm hiện tại,vẫn còn thiếu các mô hình tính toán phù hợp và công cụ dự đoán với độ chính xác cao
có thể hỗ trợ hiệu quả cho việc tìm kiếm luật chính xác Bên cạnh đó, do sự tiến bộ củakhoa học kỹ thuật và ảnh hưởng của cách mạng công nghiệp 4.0, dữ liệu khách hàng
đã kiểm chứng thực nghiệm đang ngày càng được bổ sung nhiều hơn Chính vì vậy,việc thiếu hụt mô hình dự đoán là một vấn đề cấp thiết cần được quan tâm giải quyết
Do đó, trong khuôn khổ đề tài nghiên cứu này nhóm tác giả tập trung vào vấn đề phântích tìm quy luật liên kết giữa các mặt hàng trong siêu thị dựa trên dữ liệu quá khứ muahàng của khách bằng thuật toán Apriori, sử dụng bộ công cụ Weka [4]
2.1 Đối tượng nghiên cứu
Lý thuyết: Kỹ thuật khai phá dữ liệu
Hỗ trợ ra quyết định phục vụ cho công tác phân tích giỏ hàng
3.1 Mục tiêu nghiên cứu
Ứng dụng luật kết hợp vào công tác phân tích hàng
Giúp cho nhà quản lý có thể đưa ra những nhận định, những dự đoán mang tính chiến lược
7
Trang 93.2 Nhiệm vụ nghiên cứu
Nghiên cứu kỹ thuật khai phá dữ liệu
Ứng dụng các thuật toán trên vào cơ sở dữ liệu phân tích hàng
Xây dựng cơ sở dữ liệu mẫu
Triển khai trên ứng dụng
Tham khảo các tài liệu liên quan, các bài báo cáo khoa học
Lập kế hoạch, lên quy trình, tiến độ thực hiện
Nghiên cứu kỹ thuật khai phá dữ liệu bằng luật kết hợp vào việc quản lý kho hàng tại siêu thị
8
Trang 10CHƯƠNG 1: CƠ SỞ LÝ LUẬN VỀ KHAI PHÁ DỮ LIỆU 1.1 TẠI SAO PHẢI KHAI PHÁ DỮ LIỆU?
Nguồn dữ liệu ngày càng lớn và phức tạp: Trong thời đại công nghệ số, dữ liệuđược tạo ra với tốc độ chóng mặt từ nhiều nguồn khác nhau, bao gồm: dữ liệu kháchhàng, dữ liệu bán hàng, dữ liệu sản xuất, dữ liệu hoạt động, dữ liệu mạng xã hội, Tuynhiên, 80% dữ liệu ở dạng phi cấu trúc khó truy xuất thông tin
Dữ liệu được coi như tài sản quý của doanh nghiệp: Dữ liệu chứa đựng nhiều thôngtin hữu ích giúp doanh nghiệp hiểu rõ hơn về khách hàng, thị trường, sản phẩm,
Từ đó, doanh nghiệp có thể đưa ra các quyết định kinh doanh sáng suốt, hiệu quả hơn
⇒ Khi dữ liệu ngày càng trở nên quan trọng, việc khai phá dữ liệu càng trở nên
quan trọng Khai phá dữ liệu có thể giúp các doanh nghiệp khai thác tối đa giá trị của
Các khái niệm liên quan:
Tri thức: Là tập hợp những thông tin có liên hệ với nhau để ra những suy luận,
tri thức hỗ trợ ngược lại cho người dùng
Thông tin: Là tập hợp dữ liệu đã được xử lý, dùng mô tả giải thích đặc tính cho
một đối tượng
Dữ liệu: Là chuỗi các bit, là số, ký tự, hình ảnh, video…mà chúng ta tạo ra và
tập hợp hàng ngày trong công việc
Trong đó dữ liệu ở mức độ trừu tượng thấp nhất và cụ thể nhất, thông tin ở mứctrên dữ liệu và tri thức ở mức cao nhất
9
Trang 111.2.2 Lợi ích của khai phá dữ liệu
Trực quan hóa dữ liệu: Khai phá dữ liệu có thể được sử dụng để tạo ra các
biểu đồ và đồ thị trực quan hóa dữ liệu Điều này giúp người dùng dễ dàng hiểu vàphân tích dữ liệu hơn
Dự đoán: Khai phá dữ liệu có thể được sử dụng để tạo ra các mô hình dự đoán.
Các mô hình này có thể được sử dụng để dự đoán kết quả trong tương lai, chẳng hạnnhư doanh số bán hàng, hành vi của khách hàng hoặc sự cố kỹ thuật
Cung cấp tri thức: Khai phá dữ liệu có thể được sử dụng để phát hiện các mẫu
và mối quan hệ trong dữ liệu mà con người không thể nhìn thấy Điều này có thể giúpngười dùng hiểu rõ hơn về thế giới xung quanh và đưa ra quyết định sáng suốt hơn
10
Trang 12đây là các tri thức rút ra từ các CSDL, thường để phục vụ cho việc giải quyết một loạtnhiệm vụ nhất định trong một lĩnh vực nhất định Do đó, quá trình phát hiện tri thứccũng mang tính chất hướng nhiệm vụ, không phải là phát hiện mọi tri thức bất kỳ mà
là phát hiện tri thức nhằm giải quyết tốt nhiệm vụ đề ra
Biến đổi, chuyển đổi dữ liệu:
● Mục tiêu: Chuyển đổi dữ liệu về định dạng phù hợp để thuận tiện cho quá trình xử lý tiếp theo
● Mục tiêu: Phân tích dữ liệu để khám phá các mối quan hệ, xu hướng và
thông tin quan trọng
Phân tích mô tả: mô tả các đặc điểm của dữ liệu, như phân phối,
xu hướng, mối quan hệ giữa các biến
Phân tích dự đoán: dự đoán giá trị của một biến dựa trên các biếnkhác
11
Trang 13Phân tích phân loại: phân loại dữ liệu thành các nhóm dựa trên các đặc điểm của dữ liệu.
Phân tích kết cụm: kết hợp các dữ liệu có đặc điểm tương tự nhau thành các cụm
Ước lượng mẫu:
● Mục tiêu: Tạo ra một mô hình thống kê hoặc dự đoán dựa trên mẫu dữ liệu được thu thập
● Các hoạt động chính: Xây dựng mô hình thống kê, sử dụng thuật toán máyhọc để dự đoán và ước lượng giá trị trong tương lai dựa trên mẫu đã có
Biểu diễn tri thức, áp dụng vào thực tế:
● Mục tiêu: Chuyển đổi tri thức được khám phá thành một hình ảnh hoặc
mô hình có thể áp dụng trong thực tế
● Các hoạt động chính: Xây dựng mô hình dự đoán, biểu diễn tri thức theohình thức đồ thị, bảng, hoặc các định dạng khác để hiểu và sử dụng thông tin được khámphá
1.2.4 Các nhiệm vụ chính của khai phá dữ liệu
Trang 14Gom cụm: Xác định các cụm tiềm ẩn trong các tập đối tượng chưa được xếp lớp Hồi quy: Dự đoán dữ liệu tương lai dựa trên dữ liệu quá khứ.
Luật kết hợp: Tìm các mẫu phổ biến từ dữ liệu và mối quan hệ của các đối
tượng dữ liệu
1.4 ỨNG DỤNG CỦA KHAI PHÁ DỮ LIỆU
Khai phá dữ liệu có thể được áp dụng trong nhiều lĩnh vực khác nhau, điển hìnhnhư:
Kinh doanh: Khai phá dữ liệu được sử dụng trong kinh doanh để cải thiện hiệu
quả hoạt động, đưa ra quyết định sáng suốt hơn và tạo ra các sản phẩm và dịch vụ mới.Một số ứng dụng của khai phá dữ liệu trong kinh doanh bao gồm:
● Phân tích dữ liệu khách hàng: Khai phá dữ liệu có thể được sử dụng để
hiểu hành vi của khách hàng, xác định các nhóm khách hàng mục tiêu và phát triển cácchiến lược tiếp thị hiệu quả hơn
● Phân tích dữ liệu tài chính: Khai phá dữ liệu có thể được sử dụng để dự
đoán xu hướng thị trường, phát hiện gian lận và rủi ro và đưa ra các quyết định đầu tưsáng suốt hơn
● Phân tích dữ liệu chuỗi cung ứng: Khai phá dữ liệu có thể được sử dụng
để cải thiện hiệu quả của chuỗi cung ứng, giảm chi phí và tăng độ tin cậy
Y tế: Khai phá dữ liệu được sử dụng trong y tế để cải thiện việc chẩn đoán và
điều trị bệnh, phát triển các phương pháp điều trị mới và giảm chi phí chăm sóc sứckhỏe Một số ứng dụng của khai phá dữ liệu trong y tế bao gồm:
● Chẩn đoán bệnh: Khai phá dữ liệu có thể được sử dụng để phân tích các
dữ liệu y tế, chẳng hạn như hồ sơ bệnh án, xét nghiệm và hình ảnh, để giúp các bác sĩchẩn đoán bệnh chính xác hơn
● Nghiên cứu y khoa: Khai phá dữ liệu có thể được sử dụng để phân tíchcác dữ liệu nghiên cứu y khoa, chẳng hạn như dữ liệu từ các thử nghiệm lâm sàng, đểphát triển các phương pháp điều trị mới
13
Trang 15● Quản lý bệnh tật: Khai phá dữ liệu có thể được sử dụng để theo dõi các
xu hướng bệnh tật, phát hiện các nhóm nguy cơ và phát triển các chiến lược phòng ngừa
Chính phủ: Khai phá dữ liệu được sử dụng trong chính phủ để cải thiện hiệu
quả của các dịch vụ công, đưa ra các quyết định sáng suốt hơn và bảo vệ an ninh quốcgia Một số ứng dụng của khai phá dữ liệu trong chính phủ bao gồm:
● Phân tích dữ liệu tội phạm: Khai phá dữ liệu có thể được sử dụng đểphân tích dữ liệu tội phạm, chẳng hạn như dữ liệu từ các vụ án, để giúp các cơ quan thựcthi pháp luật ngăn chặn tội phạm và bắt giữ tội phạm
● Quản lý tài nguyên: Khai phá dữ liệu có thể được sử dụng để quản lý cácnguồn lực của chính phủ, chẳng hạn như tài nguyên thiên nhiên và tài chính, một cáchhiệu quả hơn
● Phân tích dữ liệu dân số: Khai phá dữ liệu có thể được sử dụng để phântích dữ liệu dân số, chẳng hạn như dữ liệu từ điều tra dân số, để giúp các chính phủ đưa
ra các chính sách công phù hợp hơn
Giáo dục: Khai phá dữ liệu có thể được sử dụng để cải thiện hiệu quả giảng
dạy, phát triển các chương trình giáo dục mới và đánh giá hiệu suất học tập Một sốứng dụng cụ thể của khai phá dữ liệu trong giáo dục bao gồm:
● Cải thiện hiệu quả giảng dạy: Khai phá dữ liệu có thể được sử dụng đểphân tích dữ liệu từ các nguồn khác nhau, chẳng hạn như bảng điểm, bài kiểm tra vàkhảo sát, để hiểu nhu cầu của học sinh và xác định các phương pháp giảng dạy hiệu quảnhất
● Phát triển các chương trình giáo dục mới: Khai phá dữ liệu có thể được
sử dụng để phân tích dữ liệu về các chương trình giáo dục hiện có để xác định các lĩnhvực cần cải thiện và phát triển các chương trình giáo dục mới đáp ứng tốt hơn nhu cầucủa học sinh
● Đánh giá hiệu suất học tập: Khai phá dữ liệu có thể được sử dụng đểphân tích dữ liệu từ các nguồn khác nhau, chẳng hạn như bài kiểm tra, khảo sát và cáchoạt động lớp học, để đánh giá hiệu suất học tập của học sinh một cách chính xác và hiệuquả hơn
14
Trang 16Viễn thông: khai phá dữ liệu có thể được sử dụng để cải thiện hiệu quả hoạt
động, phát triển các sản phẩm và dịch vụ mới, và bảo vệ an ninh mạng
● Hiểu hành vi của khách hàng: Khai phá dữ liệu có thể được sử dụng để phântích dữ liệu từ các nguồn khác nhau, chẳng hạn như dữ liệu sử dụng dịch vụ, dữ liệu thanhtoán, và dữ liệu khảo sát, để hiểu hành vi của khách hàng Điều này giúp các nhà cung cấpdịch vụ viễn thông có thể cải thiện các sản phẩm và dịch vụ của mình để đáp ứng nhu cầucủa khách hàng
● Phát hiện gian lận: Khai phá dữ liệu có thể được sử dụng để phát hiệncác hoạt động gian lận, chẳng hạn như sử dụng dịch vụ trái phép hoặc đăng ký dịch vụgiả mạo Điều này giúp các nhà cung cấp dịch vụ viễn thông bảo vệ doanh thu của mình
● Tối ưu hóa mạng lưới: Khai phá dữ liệu có thể được sử dụng để tối ưuhóa mạng lưới viễn thông, chẳng hạn như phân bổ tài nguyên mạng hiệu quả hơn hoặc dựđoán nhu cầu sử dụng mạng Điều này giúp các nhà cung cấp dịch vụ viễn thông cải thiệntrải nghiệm của khách hàng
● Phát hiện các xu hướng thị trường: Khai phá dữ liệu có thể được sử dụng
để phát hiện các xu hướng thị trường, chẳng hạn như các công nghệ mới hoặc các nhucầu của khách hàng Điều này giúp các nhà cung cấp dịch vụ viễn thông có thể phát triểncác sản phẩm và dịch vụ mới đáp ứng nhu cầu của thị trường
● Thử nghiệm sản phẩm và dịch vụ: Khai phá dữ liệu có thể được sử dụng
để thử nghiệm sản phẩm và dịch vụ mới, chẳng hạn như thu thập phản hồi của kháchhàng hoặc đánh giá hiệu quả của các chiến dịch marketing Điều này giúp các nhà cungcấp dịch vụ viễn thông cải thiện các sản phẩm và dịch vụ của mình trước khi tung ra thịtrường
● Phát hiện và ngăn chặn các cuộc tấn công mạng: Khai phá dữ liệu có thểđược sử dụng để phát hiện các dấu hiệu của các cuộc tấn công mạng, chẳng hạn như cáchoạt động bất thường hoặc các truy cập trái phép Điều này giúp các nhà cung cấp dịch
vụ viễn thông bảo vệ hệ thống của mình khỏi các cuộc tấn công mạng
15
Trang 17● Giám sát an ninh mạng: Khai phá dữ liệu có thể được sử dụng để giámsát an ninh mạng, chẳng hạn như theo dõi các thay đổi trong hệ thống hoặc các mối đedọa mới Điều này giúp các nhà cung cấp dịch vụ viễn thông có thể nhanh chóng pháthiện và phản ứng với các mối đe dọa an ninh mạng.
Khai phá dữ liệu là một công cụ mạnh mẽ có thể được sử dụng để giải quyếtnhiều vấn đề khác nhau Với sự phát triển của dữ liệu lớn, khai phá dữ liệu sẽ tiếp tụctrở nên quan trọng hơn trong nhiều lĩnh vực
1.5 CÁC CÔNG CỤ THỰC HIỆN KHAI PHÁ DỮ LIỆU
Có nhiều công cụ khai phá dữ liệu được sử dụng để thực hiện các phân tích vàkhám phá tri thức từ dữ liệu Dưới đây là một số công cụ khai phá dữ liệu phổ biến:
● WEKA: WEKA là một công cụ mã nguồn mở và rất phổ biến trong lĩnh vực
khai phá dữ liệu Nó cung cấp một loạt các thuật toán khai phá dữ liệu, bao gồm phânloại, gom nhóm, kỳ vọng kỳ vọng và khám phá quy luật kỳ vọng WEKA cũng cung cấpmột giao diện đồ họa thân thiện giúp người dùng tạo, thực thi và đánh giá các mô hìnhkhai phá dữ liệu
● RapidMiner: RapidMiner cũng là một công cụ khai phá dữ liệu mã nguồn
mở và phổ biến Nó cung cấp một môi trường trực quan cho việc xây dựng quy trình khaiphá dữ liệu bằng cách sử dụng các công cụ kéo và thả RapidMiner bao gồm một loạt cácthuật toán khai phá dữ liệu, kỹ thuật xử lý dữ liệu và trực quan hóa dữ liệu
● KNIME: KNIME là một công cụ khai phá dữ liệu mã nguồn mở và dựa trên
giao diện đồ họa Nó cho phép người dùng xây dựng quy trình khai phá dữ liệu bằng cáchkết hợp các nút xử lý dữ liệu và phân tích KNIME hỗ trợ một loạt các công cụ và thuậttoán khai phá dữ liệu, và cũng hỗ trợ tích hợp với các công cụ và thư viện phổ biến khácnhư R và Python
● Python: Python là một ngôn ngữ lập trình mạnh mẽ và phổ biến trong việc khai
phá dữ liệu Python cung cấp một loạt các thư viện mạnh mẽ như scikit-learn, pandas vànumpy để thực hiện các tác vụ khai phá dữ liệu như phân loại, gom nhóm, rừng ngẫu nhiên,học máy và nhiều hơn nữa Python cũng hỗ trợ
16
Trang 18trực quan hóa dữ liệu và xử lý dữ liệu bằng các thư viện như matplotlib và seaborn.
● SQL: SQL (Structured Query Language) không chỉ được sử dụng để truy
vấn dữ liệu từ cơ sở dữ liệu, mà còn có thể được sử dụng để khai phá dữ liệu Với SQL,bạn có thể thực hiện các phân tích dữ liệu cơ bản như phân loại, gom nhóm, tính toánthống kê và tạo ra các báo cáo từ cơ sở dữ liệu
Các công cụ khai phá dữ liệu này cung cấp các chức năng và thuật toán đa dạnggiúp người dùng thực hiện các phân tích và khám phá tri thức từ dữ liệu dễ dàng vàhiệu quả Tuy nhiên, lòng kiến thức và điều chỉnh của người dùng là yếu tố quan trọng
để tận dụng tối đa các công cụ này
1.6 NHỮNG THÁCH THỨC TRONG ỨNG DỤNG VÀ NGHIÊN CỨU
KỸ THUẬT KHAI PHÁ DỮ LIỆU
Khối lượng dữ liệu lớn và từ nhiều nguồn khác nhau: CSDL, internet, các loạithiết bị thu nhận tín hiệu, các loại thiết bị nhận dạng, các loại thiết bị lưu trữ như băng
từ, CD, Số mẫu tin và số các thuộc tính quá lớn làm cho độ phức tạp và thời giangiải quyết bài toán tăng lên rất nhanh
Mô hình hay tri thức phát hiện được bị thay đổi theo thời gian tức là mô hìnhhay tri thức đó phụ thuộc vào thời điểm quan sát, lấy mẫu, thời điểm khai phá, kết quảđạt được sau khai phá cũng gây không ít khó khăn cho khai phá dữ liệu
Dữ liệu bị ảnh hưởng, bị nhiễu bởi tác động của môi trường bên ngoài, hay bộ
dữ liệu không hoàn chỉnh làm cho dữ liệu không phản ánh trung thực, chính xác củacác quy luật, tri thức mà ta tìm được Các thuộc tính không phù hợp, các bộ giá trịkhông đầy đủ, bị thiếu giá trị trong các miền thuộc tính sẽ ảnh hưởng rất lớn đến việckhai phá dữ liệu Chẳng hạn như khi khai phá dữ liệu, các hệ thống tương tác với nhau,phụ thuộc nhau, chỉ cần thiếu một vài giá trị nào đó sẽ dẫn đến các mâu thuẫn, khôngchính xác, không đầy đủ
Từ những vấn đề đặt ra ở trên nên tốc độ xử lý cần quan tâm trước nhất Có haiphương hướng để giải quyết vấn đề này là nâng cao năng lực của phần cứng và cải tiếnphần mềm Tuy nhiên khi cải thiện năng lực của máy tính thì dữ liệu cung tăng khôngngừng, thậm chí còn tăng nhanh hơn gấp nhiều lần Do vậy việc nghiên cứu đề xuất
các 17
Trang 19thuật toán hiệu quả có khả năng làm việc trên khối lượng dữ liệu lớn, và có độ phức tạp tính toán thấp là một hướng nghiên cứu đầy tiềm năng.
18
Trang 20CHƯƠNG 2: LÝ THUYẾT VỀ LUẬT KẾT HỢP VỚI THUẬT
TOÁN APRIORI 2.1 TỔNG QUAN VỀ LUẬT KẾT HỢP
2.1.1 Cơ sở dữ liệu giao dịch
Hạng mục (item): Mặt hàng trong giỏ hàng hay một thuộc tính.
Giao dịch (Transation): là tập các hạng mục được mua trong một giỏ hàng (có
TID là mã giao dịch)
Cơ sở dữ liệu giao dịch: là tập các giao dịch
Mẫu phổ biến: Là mẫu xuất hiện thường xuyên trong tập dữ liệu.
2.1.2 Tập phổ biến
Tập các hạng mục (itemset): là tập các mặt hàng trong giỏ hàng hay tập các
thuộc tính, I = {i1, i2, , im }
● Tập k hạng mục (k-itemset)
● Ví dụ : tập I = { sữa, bánh mì, ngũ cốc, sữa chua}
Giao dịch t: là tập các hạng mục sao cho t Ι. ⊆
Cơ sở dữ liệu: Tập các giao dịch D = {t1, t2, tn}.
Giao dịch t chứa X nếu X là tập các hạng mục trong I và X t ⊆
● VD: X = {Bánh mì, sữa chua}
Độ phổ biến (Supp) của tập các hạng mục X trong CSDL D:
● Là tỷ lệ giữa số các giao dịch chứa X trên tổng số các giao dịch trong D
Tập các hạng mục phổ biến S (Tập phổ biến) là tập các hạng mục có độ phổ
biến thỏa mãn độ phổ biến tối thiểu (do người dùng xác định)
● Nếu supp(S) ≥ minsupp thì S – tập phổ biến
Tính chất: của tập phổ biến (Apriori)
19
Trang 21● Tất cả các tập con của tập phổ biến đều là tập phổ biến.
Luật kết hợp:
● Gọi X→Y là một “luật kết hợp” nếu X I, Y I và X∩Y= ⊆ ⊆ ∅
● Ý nghĩa: Khi X có mặt thì kéo theo Y cũng có mặt
Luật kết hợp thường được đánh giá dựa trên 2 độ đo
Độ phổ biến (Độ hỗ trợ): Độ phổ biến của luật kết hợp X → Y là tỷ lệ phần trăm giữa các giao dịch chứa X Y với tổng số các giao dịch trong∪ CSDL.
Độ tin cậy: Độ tin cậy của luật kết hợp X→Y là tỷ lệ phần trăm giữa số giao dịch có chứa X Y và số giao dịch chứa X∪
Luật mạnh:
Các luật có độ phổ biến lớn hơn một giá trị ngưỡng minsupp và độ tin cậy lớnhơn một giá trị ngưỡng minconf cho trước được gọi là các luật “mạnh” hay “luật có giátrị”
Cụ thể:
Nếu đồng thời Supp(X→Y) ≥ minsupp và conf(X →Y) ≥ minconf thì X →Y được gọi là luật mạnh
Lưu ý: Hai giá trị minsupp và minconf do người dùng xác định
2.1.3 Quy trình khai thác luật kết hợp
Bước 1: Tìm các tập phổ biến: theo ngưỡng minsupp
● Lặp việc tìm tập phổ biến với kích thước từ 1 đến k (tập có kích thước k)
Bước 2: Xây dựng tập luật: từ các tập phổ biến
● Đối với mỗi tập phổ biến S tìm được ở bước 1, ta tạo ra tất cả các tập con khác của S ∅
20
Trang 22● Đối với mỗi tập con khác A của S ∅
Luật A→(S-A) là luật cần tìm nếu:
Conf(A →(S-A))=Supp(S)/Supp(A ) ≥ minconf
● Dừng khi không tạo được tập phổ biến hay tập ứng viên
2.2.2 Khai phá luật kết hợp với Apriori
1- Bước kết hợp: C được tạo bằng cách kết L với chính nó.k k-1
2- Bước rút gọn: Những tập kích thước (k-1) không phổ biến thì không thể là
tập con của tập phổ biến kích thước k
Trang 23FOR mỗi giao tác t trong database DO tăng số đếm của tất cả các ứng viên trong C mà được chứa trong tk+1
Lk+1 = {các ứng viên trong C có độ hộ trợ tối thiểu}k+1
END RETURN ∪k Lk ;
Nguyên tắc Apriori: Những tập con của tập phổ biến cũng phải phổ biến
2.2.3 Quy trình khai thác luật kết hợp
Bước 1: Tìm các tập phổ biến: theo ngưỡng minsupp
● Nguyên tắc: Tập con của tập phổ biến cũng là một tập phổ biến:
VD: Nếu {AB} là một tập phổ biến thì cả {A} và {B} là tập phổ biến
● Lặp việc tìm tập phổ biến với kích thước từ 1 đến k (tập có kích thước k)
Bước 2: Xây dựng tập luật: từ các tập phổ biến
● Đối với mỗi tập phổ biến S tìm được ở bước 1, ta tạo ra tất cả các tập conkhác của S
● Đối với mỗi tập con khác A của S
Luật A→(S-A) là luật cần tìm nếu:
Conf(A →(S-A))=Supp(S)/Supp(A) ≥ minconf
2.3 ỨNG DỤNG
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ự đoánhà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ốiquan 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ặthà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áccụ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
22
Trang 24nhó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
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, tuyên bố rằng những người đàn ông đến cửahà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ảng2% tổng số giao dịch, bao gồm cả việc mua tã Khoảng 5.500 giao dịch (2,75%)baogồ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
+ Phân tích dữ liệu vận chuyển: Thuật toán Apriori có thể được sử dụng đểphân tích dữ liệu vận chuyển để tìm ra các mối quan hệ giữa các tuyến đường vậnchuyển Các mối quan hệ này có thể được sử dụng để tối ưu hóa các tuyến đường vậnchuyển, để giảm chi phí vận chuyển, và để giảm thời gian giao hàng
+ Phân tích dữ liệu kho hàng: Thuật toán Apriori có thể được sử dụng đểphân tích dữ liệu kho hàng để tìm ra các mối quan hệ giữa các sản phẩm trong kho Cácmối quan hệ này có thể được sử dụng để tối ưu hóa việc
23
Trang 25quản lý kho hàng, để giảm chi phí lưu kho, và để tăng hiệu quả hoạt động của kho hàng.
+ Phân tích dữ liệu khách hàng: Thuật toán Apriori có thể được sử dụng đểphân tích dữ liệu khách hàng để tìm ra các mối quan hệ giữa các khách hàng Các mốiquan hệ này có thể được sử dụng để phát triển các chiến lược marketing hiệu quả hơn, đểnâng cao trải nghiệm khách hàng, và để giảm tỷ lệ bỏ hàng
Thuật toán Apriori có thể được ứng dụng trong giáo dục để tìm hiểu các mối quan
hệ giữa các môn học, giữa các học sinh, và giữa các giảng viên Các mối quan hệ này
có thể được sử dụng để cải thiện chất lượng giảng dạy và học tập
Dưới đây là một số ví dụ cụ thể về ứng dụng của thuật toán Apriori trong giáodục:
+ Phân tích dữ liệu điểm số của học sinh để tìm ra các mối quan hệ giữacác môn học Ví dụ, một trường học có thể sử dụng thuật toán Apriori để tìm ra rằngnhững học sinh giỏi môn toán thường cũng giỏi môn khoa học Từ đó, nhà trường có thểđiều chỉnh chương trình giảng dạy để giúp các học sinh này phát triển các kỹ năng toánhọc và khoa học của mình
+ Phân tích dữ liệu hồ sơ học tập của học sinh để tìm ra các mối quan hệgiữa các học sinh Ví dụ, một trường đại học có thể sử dụng thuật toán Apriori để tìm rarằng những học sinh có điểm trung bình cao thường cũng tham gia các hoạt động ngoạikhóa Từ đó, nhà trường có thể khuyến khích các học sinh tham gia các hoạt động ngoạikhóa để phát triển các kỹ năng mềm của họ
+ Phân tích dữ liệu bài giảng của giảng viên để tìm ra các mối quan hệgiữa các giảng viên Ví dụ, một trường đại học có thể sử dụng thuật toán Apriori để tìm
ra rằng những giảng viên có phương pháp giảng dạy tương tự thường giảng dạy các mônhọc tương tự Từ đó, nhà trường có thể sử dụng thông tin này để sắp xếp các giảng viênphù hợp với các môn học phù hợp với chuyên môn của họ
24
Trang 26● Y tế
+ Phân tích dữ liệu bệnh án: Thuật toán Apriori có thể được sử dụng đểphân tích dữ liệu bệnh án để tìm ra các mối quan hệ giữa các triệu chứng, các bệnh lý, vàcác phương pháp điều trị Các mối quan hệ này có thể được sử dụng để phát triển cácphương pháp chẩn đoán và điều trị bệnh hiệu quả hơn
+ Phân tích dữ liệu nghiên cứu y khoa: Thuật toán Apriori có thể được sửdụng để phân tích dữ liệu nghiên cứu y khoa để tìm ra các mối quan hệ giữa các biếnnghiên cứu Các mối quan hệ này có thể được sử dụng để phát triển các phương phápđiều trị mới, để cải thiện hiệu quả của các phương pháp điều trị hiện có, và để ngăn ngừabệnh tật
+ Phân tích dữ liệu sức khỏe cộng đồng: Thuật toán Apriori có thể được sửdụng để phân tích dữ liệu sức khỏe cộng đồng để tìm ra các mối quan hệ giữa các yếu tốnguy cơ, các bệnh lý, và các nhóm dân số Các mối quan hệ này có thể được sử dụng đểphát triển các chương trình phòng chống bệnh hiệu quả, để cải thiện sức khỏe cộng đồng,
và để giảm chi phí chăm sóc sức khỏe
● Phân tích mạng xã hội
+ Phân tích hành vi người dùng: Thuật toán Apriori có thể được sử dụng
để phân tích hành vi người dùng trên mạng xã hội để tìm ra các mối quan hệ giữa cáchoạt động của người dùng Các mối quan hệ này có thể được sử dụng để hiểu rõ hơn vềhành vi của người dùng, và để phát triển các chiến lược marketing hiệu quả hơn.+ Phân tích cộng đồng: Thuật toán Apriori có thể được sử dụng để phântích cộng đồng trên mạng xã hội để tìm ra các mối quan hệ giữa các thành viên của cộngđồng Các mối quan hệ này có thể được sử dụng để hiểu rõ hơn về cấu trúc của cộngđồng, và để phát triển các dịch vụ và ứng dụng phù hợp với nhu cầu của cộng đồng.+ Phân tích nội dung: Thuật toán Apriori có thể được sử dụng để phân tíchnội dung trên mạng xã hội để tìm ra các mối quan hệ giữa các chủ đề Các
25
Trang 27mối quan hệ này có thể được sử dụng để hiểu rõ hơn về các xu hướngtrên mạng xã hội, và để phát triển các chiến lược truyền thông xã hộihiệu quả hơn.
2.4 ƯU ĐIỂM VÀ NHƯỢC ĐIỂM CỦA KHAI THÁC LUẬT KẾT HỢP BẰNG PHƯƠNG PHÁP APRIORI
Ưu điểm của khai thác luật kết hợp bằng phương pháp Apriori:
● Đơn giản, dễ hiểu và dễ cài đặt: Phương pháp Apriori sử dụng một thuật toán đơn giản và dễ hiểu, do đó dễ dàng cài đặt và sử dụng
● Có thể tìm ra tất cả các luật kết hợp thỏa mãn các ngưỡng độ: Phươngpháp Apriori sử dụng một quy tắc suy luận để loại bỏ các tập hợp thuộc tính không thể cókhả năng thỏa mãn các ngưỡng độ, do đó có thể tìm ra tất cả các luật kết hợp thỏa mãncác ngưỡng độ
Nhược điểm của khai thác luật kết hợp bằng phương pháp Apriori:
● Có thể tốn kém về mặt thời gian và bộ nhớ: Phương pháp Apriori phảiduyệt qua toàn bộ tập dữ liệu nhiều lần, do đó có thể tốn kém về mặt thời gian và bộ nhớ,đặc biệt là đối với các tập dữ liệu lớn
● Có thể dễ bị nhiễu bởi các giá trị ngoại lệ: Phương pháp Apriori sử dụngmột quy tắc suy luận dựa trên độ phổ biến của các thuộc tính, do đó có thể dễ bị nhiễubởi các giá trị ngoại lệ
26
Trang 28CHƯƠNG 3: ỨNG DỤNG THUẬT TOÁN APRIORI ĐỂ PHÂN TÍCH GIỎ HÀNG CHO CỬA HÀNG TIỆN LỢI WINMART
3.1 PHÁT BIỂU BÀI TOÁN
Đặt vấn đề
Các cửa hàng tiện lợi đang ngày càng phát triển và trở thành một phần khôngthể thiếu trong cuộc sống của người dân Khách hàng đến với cửa hàng tiện lợi có thểtìm thấy nhiều loại sản phẩm khác nhau, từ thực phẩm, đồ uống, đồ dùng cá nhân, đến các sản phẩm công nghệ, văn phòng phẩm, Điều này đặt ra cho các cửa hàng tiệnlợi một bài toán khó: Làm thế nào để sắp xếp các sản phẩm một cách hợp lý, vừa thuậntiện cho khách hàng tìm kiếm, vừa giúp tăng doanh thu cho từng loại sản phẩm?Đây không chỉ là vấn đề về việc tạo ra một môi trường mua sắm thuận tiện màcòn liên quan mật thiết đến việc tối ưu hóa doanh thu từng loại sản phẩm Vì thế, cửahàng cần tìm cách sắp xếp sản phẩm một cách hợp lý để giúp khách hàng dễ dàng tìmkiếm sản phẩm mà họ cần và đồng thời tạo điều kiện tối ưu nhất để thúc đẩy doanh sốbán hàng
Hướng giải quyết
Để giải quyết bài toán sắp xếp sản phẩm cho cửa hàng tiện lợi WinMart, nhómnghiên cứu đã sử dụng thuật toán Apriori Thuật toán Apriori là một thuật toán khảsinh, được sử dụng để tìm ra các tập kết hợp sản phẩm phổ biến trong một tập dữ liệugiỏ hàng
Thuật toán Apriori hoạt động theo hai bước chính:
● Bước 1: Tìm các tập kết hợp sản phẩm có tần suất xuất hiện trên ngưỡng
hỗ trợ nhất định
Trong bước này, thuật toán Apriori sẽ duyệt qua tập dữ liệu giỏ hàng và tìm racác tập kết hợp sản phẩm có tần suất xuất hiện trên ngưỡng hỗ trợ nhất định Tần suấtxuất hiện của một tập kết hợp sản phẩm là tỷ lệ phần trăm các giỏ hàng có chứa tập kếthợp sản phẩm đó
● Bước 2: Xây dựng tập luật từ các tập phổ biến
27
Trang 29Trong bước này, thuật toán Apriori sẽ tạo ra tập luật dựa trên các tập itemsetsphổ biến đã xác định Các luật này biểu diễn mối quan hệ giữa các sản phẩm mua cùngnhau với độ tin cậy hoặc độ tương quan cao.
Độ tin cậy của một luật là tỷ lệ phần trăm các giao dịch chứa sản phẩm A cũngchứa sản phẩm B Độ tương quan của hai sản phẩm A và B là tỷ lệ phần trăm các giaodịch có chứa sản phẩm A cũng có chứa sản phẩm B, nhưng không chứa các sản phẩmkhác
Kết quả cuối cùng từ thuật toán Apriori là một danh sách các luật, được sắp xếptheo độ tin cậy hoặc độ tương quan giảm dần Danh sách này cung cấp thông tin quýgiá về mối quan hệ giữa các sản phẩm, giúp cửa hàng WinMart đưa ra các chiến lược
bố trí sản phẩm hiệu quả
Ý nghĩa
Việc sắp xếp sản phẩm hợp lý có ý nghĩa quan trọng đối với các cửa hàng tiệnlợi Nó giúp khách hàng thuận tiện hơn trong việc tìm kiếm sản phẩm, đồng thời giúpcửa hàng tăng doanh thu cho từng loại sản phẩm Cụ thể, sắp xếp sản phẩm hợp lý cóthể mang lại những lợi ích sau:
● Tăng khả năng hiển thị của sản phẩm: Khi sản phẩm được đặt ở vị trí dễ nhìn thấy, khách hàng có nhiều khả năng nhìn thấy và mua nó hơn
● Tăng khả năng khách hàng mua thêm sản phẩm: Khi khách hàng muamột sản phẩm, họ có thể mua thêm các sản phẩm liên quan khác Việc sắp xếp sản phẩmhợp lý có thể giúp cửa hàng kích thích hành vi mua thêm sản phẩm của khách hàng
● Tăng doanh thu cho từng loại sản phẩm: Khi sản phẩm được đặt ở vị tríthuận tiện cho khách hàng, họ có nhiều khả năng mua sản phẩm đó hơn Điều này có thểgiúp cửa hàng tăng doanh thu cho từng loại sản phẩm
3.2 PHÂN TÍCH BÀI TOÁN
Mục tiêu
● 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àngWinMart
28
Trang 30● Đư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.
+ Tập Hợp Các Mặt Hàng Phổ Biến (Frequent Itemsets): Đây là các nhómcác mặt hàng thường được mua cùng nhau, với tần suất xuất hiện cao trong tập dữ liệu
Có thể có các itemsets có 2, 3, hoặc nhiều hơn các mặt hàng Ví dụ: {bột mì, trứng} cótần suất xuất hiện theo dữ kiện bài toán
+ Tổng kết Thông Tin Về Mối Quan Hệ Mặt Hàng: Đây là thông tin vềmức độ liên kết giữa các mặt hàng, có thể là sự phụ thuộc, sự tương quan, hoặc mối quan
hệ khác nhau giữa các sản phẩm
Phương pháp
● Sử dụng thuật toán Apriori để tìm kiếm các quy tắc kết hợp
Kết quả
● Tập hợp các quy tắc kết hợp được tìm thấy bởi thuật toán Apriori
● Các đề xuất cho cửa hàng WinMart dựa trên tập hợp các quy tắc kết hợpnày
+ Các sản phẩm được chọn mua nhiều nhất:
■ Nên đặt ở vị trí dễ thấy, dễ tìm kiếm để thu hút sự chú ý của khách hàng
29