One-hot encoding de dados de transações
Ao longo do curso, vamos usar um pipeline comum para pré-processar dados para uso em market basket analysis. O primeiro passo é importar um DataFrame do pandas e selecionar a coluna que contém as transações. Cada transação nessa coluna será uma string formada por vários itens separados por vírgula. Em seguida, usamos uma função lambda para dividir cada string de transação em uma lista, transformando a coluna em uma lista de listas.
Neste exercício, você começará com a lista de listas do conjunto de dados do mercado, disponível como transactions. Em seguida, você vai transformar transactions em um DataFrame com one-hot encoding, em que cada coluna contém valores TRUE e FALSE indicando se um item foi incluído em uma transação.
Este exercício faz parte do curso
Análise de Cesta de Compras em Python
Instruções do exercício
- De
mlxtend.preprocessing, importeTransactionEncoder - Instancie um codificador de transações e identifique os itens únicos em
transactions. - Faça o one-hot encoding de
transactionsem um array e atribua seus valores aonehot. - Converta o array em um
DataFramedopandasusando os nomes dos itens como cabeçalhos das colunas.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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)