One-hot кодування даних транзакцій
Упродовж курсу ми використовуватимемо спільний конвеєр для попередньої обробки даних для Market Basket Analysis. Перший крок — імпортувати pandas DataFrame і вибрати стовпець, що містить транзакції. Кожна транзакція в цьому стовпці — це рядок із переліком товарів, розділених комами. Далі потрібно використати функцію lambda, щоб розбити кожен рядок транзакції на список, перетворивши стовпець на список списків.
У цій вправі ви почнете зі списку списків із набору даних продуктової крамниці, який доступний як transactions. Потім ви перетворите transactions на one-hot закодований DataFrame, де кожен стовпець містить значення TRUE та FALSE, що вказують, чи був товар включений до транзакції.
Ця вправа є частиною курсу
Маркет-баcкет аналіз у Python
Інструкції до вправи
- Із
mlxtend.preprocessingімпортуйтеTransactionEncoder. - Створіть екземпляр енкодера транзакцій і визначте унікальні товари в
transactions. - Виконайте one-hot кодування
transactionsв масив і присвойте його значення зміннійonehot. - Перетворіть масив на
pandasDataFrame, використавши назви товарів як заголовки стовпців.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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)