Encodage one-hot des données de transactions
Tout au long du cours, nous utiliserons un enchaînement d'étapes commun pour le prétraitement des données en vue de l'analyse de paniers d'achat. La première étape consiste à importer un DataFrame pandas et à sélectionner la colonne qui contient les transactions. Chaque transaction de cette colonne est une chaîne qui regroupe plusieurs articles, séparés par des virgules. L'étape suivante est d'utiliser une fonction lambda pour scinder chaque chaîne de transaction en une liste, transformant ainsi la colonne en une liste de listes.
Dans cet exercice, vous partirez de la liste de listes du jeu de données d'épicerie, disponible sous transactions. Vous transformerez ensuite transactions en un DataFrame encodé en one-hot, où chaque colonne contient des valeurs TRUE et FALSE indiquant si un article faisait partie d'une transaction.
Cette activité fait partie du cours
Analyse des paniers d'achat en Python
Instructions de l’exercice
- À partir de
mlxtend.preprocessing, importezTransactionEncoder. - Instanciez un encodeur de transactions et repérez les articles uniques dans
transactions. - Effectuez l'encodage one-hot de
transactionsdans un tableau et affectez le résultat àonehot. - Convertissez le tableau en
DataFramepandasen utilisant les noms d'articles comme en-têtes de colonnes.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)