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
Istruzioni dell'esercizio
- Da
mlxtend.preprocessing, importaTransactionEncoder - Istanzia un transaction encoder e individua gli articoli unici in
transactions. - Esegui la one-hot encoding di
transactionsin un array e assegna i valori aonehot. - Converte l'array in un DataFrame di
pandasusando 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)