One-hot-enkodning av transaktionsdata
Under kursens gång använder vi en gemensam pipeline för att förbehandla data inför marknadskorganalys. Det första steget är att importera en pandas DataFrame och välja den kolumn som innehåller transaktioner. Varje transaktion i kolumnen är en sträng som består av ett antal artiklar, separerade med kommatecken. Nästa steg är att använda en lambda-funktion för att dela upp varje transaktionssträng i en lista, vilket omvandlar kolumnen till en lista av listor.
I den här övningen börjar du med listan av listor från livsmedelsdata, som finns tillgänglig som transactions. Du kommer sedan att omvandla transactions till en one-hot-enkodad DataFrame, där varje kolumn består av TRUE- och FALSE-värden som anger om en artikel ingick i en transaktion.
Den här övningen är en del av kursen
Marknadskorgsanalys i Python
Övningsinstruktioner
- Importera
TransactionEncoderfrånmlxtend.preprocessing. - Instantiera en transaktionskodare och identifiera de unika artiklarna i
transactions. - One-hot-enkoda
transactionsi en array och tilldela dess värden tillonehot. - Konvertera arrayen till en
pandasDataFrame med artikelnamnen som kolumnrubriker.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)