下面是按照您提供的步骤实现的代码:
import pandas as pd
from apyori import apriori
# 读取Excel文件
df = pd.read_excel('订单数据.xlsx')
# 显示数据预览
print(df.head())
# 获取交易项集
transactions = df.groupby('OrderID')['CategoryName'].apply(list)
# 进行关联规则挖掘
min_support = 0.1 # 最小支持度
min_confidence = 0.5 # 最小置信度
min_lift = 1.2 # 最小提升度
results = list(apriori(transactions, min_support=min_support, min_confidence=min_confidence, min_lift=min_lift))
# 提取并显示关联规则
rules_data = []
for result in results:
support = result.support
for item in result.ordered_statistics:
base_items = ', '.join(item.items_base)
add_items = ', '.join(item.items_add)
confidence = item.confidence
lift = item.lift
rules_data.append([base_items, add_items, support, confidence, lift])
rules_df = pd.DataFrame(rules_data, columns=['Base Items', 'Add Items', 'Support', 'Confidence', 'Lift'])
print(rules_df.tail(8))
请确保将代码中的订单数据.xlsx
替换为实际的数据文件路径。此代码通过Apriori算法进行关联规则挖掘,并从结果中提取支持度、置信度、提升度等信息,存储在DataFrame中并显示最后8行结果。
内容由零声教学AI助手提供,问题来源于学员提问