Aan de slagGa gratis aan de slag

One-hot encoden van transactiegegevens

In de hele cursus gebruiken we een vaste pijplijn om gegevens voor te bereiden voor market basket-analyse. De eerste stap is om een pandas DataFrame te importeren en de kolom te selecteren die de transacties bevat. Elke transactie in die kolom is een string met meerdere items, gescheiden door komma’s. De volgende stap is om met een lambda-functie elke transactiestring te splitsen in een lijst, zodat de kolom verandert in een lijst-van-lijsten.

In deze oefening begin je met de lijst-van-lijsten uit de supermarktgegevensset, die beschikbaar is als transactions. Vervolgens zet je transactions om naar een one-hot geencodeerd DataFrame, waarbij elke kolom uit TRUE- en FALSE-waarden bestaat die aangeven of een item in een transactie voorkwam.

Deze oefening maakt deel uit van de cursus

Market Basket Analysis in Python

Cursus bekijken

Oefeninstructies

  • Importeer uit mlxtend.preprocessing de TransactionEncoder.
  • Instantieer een transaction encoder en identificeer de unieke items in transactions.
  • One-hot-encode transactions naar een array en wijs de waarden toe aan onehot.
  • Zet de array om naar een pandas DataFrame met de itemnamen als kolomkoppen.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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)
Code bewerken en uitvoeren