对交易数据进行独热编码
在整个课程中,我们会使用一套通用流程来预处理数据,以便用于购物篮分析。第一步是导入一个 pandas DataFrame,并选择包含交易记录的列。该列中的每条交易都是一个字符串,由若干用逗号分隔的商品组成。下一步是使用 lambda 函数将每个交易字符串拆分为列表,从而把该列转换为"列表的列表"。
在本练习中,您将从杂货数据集中的"列表的列表"开始,变量名为 transactions。接着,您会将 transactions 转换为一个独热编码的 DataFrame。每一列由 TRUE 和 FALSE 值组成,用以指示某个商品是否包含在一笔交易中。
本练习是课程的一部分
Python 中的购物篮分析
练习说明
- 从
mlxtend.preprocessing导入TransactionEncoder - 实例化一个交易编码器,并在
transactions中识别唯一商品。 - 以数组形式对
transactions进行独热编码,并将结果赋给onehot。 - 将该数组转换为
pandasDataFrame,并使用商品名称作为列名。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# 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)