One-hot kódování transakčních dat
V celém kurzu budeme používat společný postup pro přípravu dat k analýze tržního košíku. Prvním krokem je import pandas DataFrame a výběr sloupce obsahujícího transakce. Každá transakce ve sloupci je řetězec složený z několika položek oddělených čárkou. Dalším krokem je použití funkce lambda, která každý transakční řetězec rozdělí na seznam — tím se sloupec transformuje na seznam seznamů.
V tomto cvičení začneš se seznamem seznamů z datasetu grocery, který máš k dispozici jako transactions. Potom transactions transformuješ do one-hot kódovaného DataFrame, kde každý sloupec obsahuje hodnoty TRUE a FALSE označující, zda byla daná položka součástí transakce.
Toto cvičení je součástí kurzu
Market Basket Analysis v Pythonu
Pokyny k cvičení
- Z modulu
mlxtend.preprocessingimportujTransactionEncoder. - Vytvoř instanci transaction encoderu a identifikuj unikátní položky v
transactions. - Proveď one-hot kódování
transactionsdo pole a jeho hodnoty přiřaď proměnnéonehot. - Pole převeď na
pandasDataFrame a jako záhlaví sloupců použij názvy položek.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)