Transaktionsdaten One-Hot encodieren
Im gesamten Kurs verwenden wir eine einheitliche Pipeline, um Daten für die Market-Basket-Analyse vorzubereiten. Zuerst importierst du ein pandas-DataFrame und wählst die Spalte mit den Transaktionen aus. Jede Transaktion in dieser Spalte ist ein String mit mehreren Artikeln, getrennt durch Kommas. Als Nächstes verwendest du eine lambda-Funktion, um jeden Transaktions-String in eine Liste zu splitten und verwandelst die Spalte so in eine Liste von Listen.
In dieser Übung startest du mit der Liste von Listen aus dem Grocery-Datensatz, die dir als transactions vorliegt. Anschließend wandelst du transactions in ein One-Hot-encodiertes DataFrame um, in dem jede Spalte aus TRUE- und FALSE-Werten besteht, die angeben, ob ein Artikel in einer Transaktion enthalten war.
Diese Übung ist Teil des Kurses
Market Basket Analysis in Python
Anleitung zur Übung
- Importiere aus
mlxtend.preprocessingdenTransactionEncoder. - Instanziiere einen Transaction Encoder und ermittle die eindeutigen Artikel in
transactions. - One-Hot-encodiere
transactionsin einem Array und weise die Werteonehotzu. - Wandle das Array in ein
pandas-DataFrame um und verwende die Artikelnamen als Spaltenüberschriften.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)