CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • À partir de mlxtend.preprocessing, importez TransactionEncoder.
  • Instanciez un encodeur de transactions et repérez les articles uniques dans transactions.
  • Effectuez l'encodage one-hot de transactions dans un tableau et affectez le résultat à onehot.
  • Convertissez le tableau en DataFrame pandas en 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)
Modifier et exécuter le code