Phân tích giỏ hàng là gì?

Phân tích giỏ hàng trong Python

Isaiah Hull

Visiting Associate Professor of Finance, BI Norwegian Business School

Chọn bố cục hiệu sách

 

Hình minh họa bố cục hiệu sách: khu tiểu thuyết và tiểu sử được nhóm, và khu thơ và lịch sử được nhóm.

 

Hình minh họa bố cục hiệu sách: khu tiểu thuyết và thơ được nhóm, và khu tiểu sử và lịch sử được nhóm.

Phân tích giỏ hàng trong Python

Khám phá dữ liệu giao dịch

TID Giao dịch
1 tiểu sử, lịch sử
2 tiểu thuyết
3 tiểu sử, thơ
4 tiểu thuyết, lịch sử
5 tiểu sử
... ...
75000 tiểu thuyết, thơ

 

  • TID = mã định danh duy nhất cho mỗi giao dịch.

 

  • Giao dịch = tập các mặt hàng duy nhất được mua cùng nhau.
Phân tích giỏ hàng trong Python

Phân tích giỏ hàng là gì?

  1. Xác định sản phẩm thường mua cùng nhau.

    • Tiểu sử và lịch sử
    • Tiểu thuyết và thơ
  2. Đưa ra khuyến nghị từ kết quả.

    • Đặt gần nhau: khu tiểu sử và lịch sử.
    • Tách xa: khu tiểu thuyết và lịch sử.
Phân tích giỏ hàng trong Python

Trường hợp sử dụng của phân tích giỏ hàng

  1. Xây dựng công cụ gợi ý kiểu Netflix.
  2. Cải thiện gợi ý sản phẩm cho cửa hàng thương mại điện tử.
  3. Bán chéo trong bán lẻ.
  4. Cải thiện quản lý tồn kho.
  5. Bán gia tăng (upsell).
Phân tích giỏ hàng trong Python

Ứng dụng phân tích giỏ hàng

TID Giao dịch
11 tiểu thuyết, tiểu sử
12 tiểu thuyết, tiểu sử
13 lịch sử, tiểu sử
... ...
19 tiểu thuyết, tiểu sử
20 tiểu thuyết, tiểu sử
... ...
  • Phân tích giỏ hàng
    • Xây dựng luật kết hợp
    • Xác định các mặt hàng thường mua cùng nhau
  • Luật kết hợp
    • {tiền đề} $\rightarrow$ {hệ quả}
      • {tiểu thuyết} $\rightarrow$ {tiểu sử}
Phân tích giỏ hàng trong Python

Nạp dữ liệu

import pandas as pd

# Load transactions from pandas.
books = pd.read_csv("datasets/bookstore.csv")

# Print the header
print(books.head(2))
TID         Transaction                 
0    biography, history
1               fiction

Để ôn lại, xem Pandas Cheat Sheet.

Phân tích giỏ hàng trong Python

Tạo giao dịch

 

# Split transaction strings into lists.
transactions = books['Transaction'].apply(lambda t: t.split(','))

# Convert DataFrame into list of strings.
transactions = list(transactions)
Phân tích giỏ hàng trong Python

Đếm tập mục (itemset)

# Print the first transaction.
print(transactions[0])
['biography', 'history']
# Count the number of transactions that contain biography and fiction.
transactions.count(['biography', 'fiction'])
218
Phân tích giỏ hàng trong Python

Đưa ra khuyến nghị

# Count the number of transactions that contain fiction and poetry.
transactions.count(['fiction', 'poetry'])
5357

Hình minh họa bố cục hiệu sách: khu tiểu thuyết và thơ được nhóm, và khu tiểu sử và lịch sử được nhóm.

Phân tích giỏ hàng trong Python

Ayo berlatih!

Phân tích giỏ hàng trong Python

Preparing Video For Download...