Codificarea one-hot a datelor de tranzacții
Pe parcursul cursului, vom folosi un flux comun de preprocesare a datelor pentru analiza coșului de cumpărături. Primul pas este să imporți un DataFrame pandas și să selectezi coloana care conține tranzacțiile. Fiecare tranzacție din coloană va fi un șir de caractere format din mai multe articole, separate prin virgulă. Urmează să folosești o funcție lambda pentru a împărți fiecare șir de tranzacție într-o listă, transformând astfel coloana într-o listă de liste.
În acest exercițiu, vei porni de la lista de liste din setul de date despre produse alimentare, disponibilă sub numele transactions. Vei transforma apoi transactions într-un DataFrame codificat one-hot, în care fiecare coloană conține valori TRUE și FALSE ce indică dacă un articol a fost inclus într-o tranzacție.
Acest exercițiu face parte din cursul
Analiza coșului de cumpărături în Python
Instrucțiuni pentru exercițiu
- Din
mlxtend.preprocessing, importăTransactionEncoder. - Instanțiază un encoder de tranzacții și identifică elementele unice din
transactions. - Aplică codificarea one-hot pe
transactionsîntr-un array și atribuie valorile sale variabileionehot. - Convertește array-ul într-un DataFrame
pandasfolosind numele articolelor ca anteturi de coloane.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)