Bắt đầu ngayBắt đầu miễn phí

One-hot encode dữ liệu giao dịch

Xuyên suốt khóa học, chúng ta sẽ dùng một pipeline chung để tiền xử lý dữ liệu phục vụ market basket analysis. Bước đầu tiên là import một pandas DataFrame và chọn cột chứa các giao dịch. Mỗi giao dịch trong cột là một chuỗi gồm nhiều mặt hàng, phân tách bằng dấu phẩy. Bước tiếp theo là dùng một hàm lambda để tách mỗi chuỗi giao dịch thành một danh sách, qua đó biến đổi cột thành một danh sách các danh sách.

Trong bài tập này, bạn sẽ bắt đầu với danh sách các danh sách từ bộ dữ liệu cửa hàng tạp hóa, có sẵn dưới tên transactions. Sau đó, bạn sẽ biến đổi transactions thành một DataFrame one-hot encoded, nơi mỗi cột gồm các giá trị TRUEFALSE cho biết một mặt hàng có được bao gồm trong giao dịch hay không.

Bài tập này là một phần của khóa học

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

Xem khóa học

Hướng dẫn bài tập

  • Từ mlxtend.preprocessing, import TransactionEncoder
  • Khởi tạo một transaction encoder và xác định các mặt hàng duy nhất trong transactions.
  • One-hot encode transactions thành một mảng và gán giá trị của nó cho onehot.
  • Chuyển mảng thành một pandas DataFrame, sử dụng tên mặt hàng làm tiêu đề cột.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# Import the transaction encoder function from mlxtend
from ____.____ import ____
import pandas as pd

# Instantiate transaction encoder and identify unique items in transactions
encoder = TransactionEncoder().____(____)

# One-hot encode transactions
onehot = encoder.____(transactions)

# Convert one-hot encoded data to DataFrame
onehot = pd.DataFrame(____, columns = encoder.columns_)

# Print the one-hot encoded transaction dataset
print(onehot)
Chỉnh sửa và Chạy Mã