Chào các bạn, mình là Văn Khôi Ngô - đây là series Data Analytics mang tính ứng dụng cao trong các lĩnh vực Marketing, Sales, Finance, ... Vì lý thuyết đã có quá nhiều trên Google chỉ việc search là ra, nên mình sẽ tập trung vào thực hành, với các bộ dữ liệu được upvote nhiều nhất trên Kaggle, hoặc lấy từ các đầu sách hay. Các bài viết khác trong series nằm ở đây.
Bài viết thứ 3 trong Series là về Khai phá Luật kết hợp bằng thuật toán Apriori - một ứng dụng quan trọng của Data Analytics được sử dụng làm công cụ hỗ trợ cho các hoạt động Sales và Marketing trong lĩnh vực bán lẻ, thương mại điện tử. Thậm chí những đơn vị kinh doanh quy mô nhỏ như tạp hóa, quầy bánh kẹo, quán ăn, cửa hàng thời trang ... cũng có thể áp dụng được rất hiệu quả.
Hẳn ai ban đầu cũng sẽ phải ngạc nhiên khi biết siêu thị Walmart bày trí những quầy bia và quầy bỉm cạnh nhau. Nghe chừng đây có vẻ là ý tưởng hết sức quái đản. Tuy nhiên chiến thuật này lại thực sự thành công và ảnh hưởng mạnh tới doanh số. Bạn hãy tưởng tượng một tình huống thú vị là một ông bố vào siêu thị mua đồ bỉm sữa cho con và rồi quay sang bên cạnh lại đụng món khoái khẩu và trường hợp ngược lại. WalMart tìm được quy luật này dựa trên nghiên cứu dữ liệu hành vi mua hàng của họ "Có 60% đàn ông đi siêu thị vào tối thứ 6, nếu họ mua bỉm cho trẻ em thì sẽ mua cả bia." Từ đó ta có thể nhận thấy rằng chúng ta hoàn toàn có thể tìm ra được mối quan hệ tương quan, kết hợp giữa các đối tượng để tạo ra giá trị cao hơn.
Một ví dụ khác là mục "Frequently Bought Together" của Amazon hay "Sản phẩm tương tự" của Tiki. Nhiều ví dụ hơn nữa nằm ở đây.
Bộ dữ liệu được sử dụng là Groceries Dataset với 386 upvote trên Kaggle.

I. Một số đường link về Khai phá luật kết hợp:

Các bạn có thể tìm kiếm thêm trên Google và YouTube (hoặc Medium và Towardsdatascience nếu máy bạn có thể truy cập, 2 trang này bị một số nhà mạng VN chặn).

II. Một số lý thuyết chính

Phần này rất quan trọng để hiểu được phần còn lại ở bài viết. Nó đã được tóm gọn lại ở phần 2 bài viết này trên Kaggle, với số lượng upvote là lớn nhất trong tất cả các bài viết về chủ đề Luật kết hợp. Các khái niệm quan trọng nhất cần nắm là Support, Confidence và Lift. Tất nhiên để hiểu rõ hoàn toàn thì phải xem thêm các Link mình đính kèm ở phần I nữa.

III. Hiểu về dữ liệu

Dữ liệu gồm 38675 dòng biểu thị các sản phẩm được khách hàng mua của một cửa hàng tạp hóa.
Bên phải là biểu đồ số lần các sản phẩm được mua khi so với tổng số các giao dịch. VD như "whole milk" được mua trong khoảng 15% tổng số giao dịch.
‎‎‎‎‎‎

IV. Thuật toán Apriori

Bước đầu tiên để tạo các Luật kết hợp là xác định ngưỡng hỗ trợ (Min Support)ngưỡng độ tin cậy (Min Confidence). Nếu đặt các giá trị này quá thấp thì thuật toán sẽ chạy mất thời gian hơn và đồng thời tạo ra nhiều Luật kết hợp không có hoặc có ít giá trị. Hãy nhìn đồ thị sau
Ngưỡng hỗ trợ và độ tin cậy
Ngưỡng hỗ trợ và độ tin cậy
Ngưỡng hỗ trợ 1%: Chỉ tạo ra cực ít luật kết hợp, không thể chọn giá trị này.
Ngưỡng hỗ trợ 0.5%: Tạo ra khoảng 50 luật kết hợp với ngưỡng tin cậy 5% hoặc bé hơn, còn khi tăng ngưỡng tin cậy lên thì sinh ra rất ít.
Ngưỡng hỗ trợ 0.2%: Tạo ra khá nhiều luật kết hợp, khoảng 200 với ngưỡng tin cậy 5% và khoảng 70 với ngưỡng tin cậy 10%
Ngưỡng hỗ trợ 0.1%: Tạo ra quá nhiều luật kết hợp.
Mình sẽ dùng ngưỡng hỗ trợ 0.1% và ngưỡng tin cậy là 5%. Sau khi chạy thuật toán thì ta đã ra được kết quả, hãy cùng nhìn danh sách các luật kết hợp với Confidence lớn nhất.
Các luật kết hợp với Confidence lớn nhất
Các luật kết hợp với Confidence lớn nhất
Với dòng đầu tiên, có thể diễn giải như sau. Những đơn hàng mua cả xúc xích, sữa chua và sữa tươi nguyên chất chiếm 0.147% tổng số đơn hàng. Và nếu khách hàng đã mua xúc xích và sữa chua thì tỉ lệ khách hàng mua tiếp sữa tươi nguyên chất là 25.58%. Có vẻ như có rất nhiều người thích mua sữa ở cửa hàng này! Và dưới đây là đồ thị phân bố của Support, Confidence và Lift của các luật kết hợp.
Đồ thị phân bố Confidence, Support và Lift của các luật kết hợp
Đồ thị phân bố Confidence, Support và Lift của các luật kết hợp
Một số biểu đồ khác chạy bằng R từ một notebook trên Kaggle
Biểu đồ Graph cho 20 Luật kết hợp đầu tiên
Biểu đồ Graph cho 20 Luật kết hợp đầu tiên
Biểu đồ Graph cho 50 Luật kết hợp đầu tiên
Biểu đồ Graph cho 50 Luật kết hợp đầu tiên
Biểu đồ tọa độ song song cho 20 Luật kết hợp đầu tiên
Biểu đồ tọa độ song song cho 20 Luật kết hợp đầu tiên

V. Kết bài

Đây là bài viết của mình trong series "Data Analytics for Business" về chủ đề Khai phá Luật kết hợp bằng thuật toán Apriori . Hi vọng các bạn sẽ hiểu hơn về các ứng dụng thực tế của Data Analytics trong Business. Với những bạn muốn tham khảo cách mình xử lí data thì mình có để link Github ở phía dưới.
Sắp tới mình sẽ viết thêm nhiều bài viết về khoa học dữ liệu, phân tích insight từ các bộ dữ liệu hay, và cả những chủ đề thú vị khác nữa. Nếu không muốn bỏ lỡ thì hãy follow mình nhé :))