CommencerCommencer gratuitement

One-hot encoder des données de transaction

Tout au long du cours, nous utiliserons un pipeline commun pour prétraiter les données destinées à l’analyse des paniers d’achats (Market Basket Analysis). 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 de caractères composée de plusieurs articles, séparés par des virgules. L’étape suivante consiste à 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 commencez avec la liste de listes du jeu de données d’épicerie, accessible sous le nom transactions. Vous allez ensuite transformer transactions en un DataFrame encodé en one-hot, où chaque colonne contient des valeurs TRUE et FALSE indiquant si un article était inclus dans une transaction.

Cet exercice fait partie du cours

Analyse des paniers d’achat en Python

Afficher le cours

Instructions

  • Depuis mlxtend.preprocessing, importez TransactionEncoder.
  • Instanciez un encodeur de transactions et identifiez les articles uniques dans transactions.
  • Réalisez l’encodage one-hot de transactions dans un tableau (array) et affectez ses valeurs à onehot.
  • Convertissez ce 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 cet exemple de code.

# 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