IniziaInizia gratis

One-hot encoding dei dati di transazione

Nel corso useremo una pipeline comune per il preprocessing dei dati da usare nella market basket analysis. Il primo passo è importare un DataFrame di pandas e selezionare la colonna che contiene le transazioni. Ogni transazione nella colonna è una stringa composta da più articoli, separati da virgole. Il passo successivo è usare una funzione lambda per suddividere ogni stringa di transazione in una lista, trasformando così la colonna in una lista di liste.

In questo esercizio, parti dalla lista di liste del dataset del supermercato, disponibile come transactions. Trasformerai poi transactions in un DataFrame one-hot encoded, in cui ogni colonna contiene valori TRUE e FALSE che indicano se un articolo è stato incluso in una transazione.

Questo esercizio fa parte del corso

Analisi del carrello in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Da mlxtend.preprocessing, importa TransactionEncoder
  • Istanzia un transaction encoder e individua gli articoli unici in transactions.
  • Esegui la one-hot encoding di transactions in un array e assegna i valori a onehot.
  • Converte l'array in un DataFrame di pandas usando i nomi degli articoli come intestazioni di colonna.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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)
Modifica ed esegui il codice