这个错误通常是由于不支持使用减法运算符来计算frozenset和str之间的差异。您可以使用集合操作来解决这个问题。
以下是修改后的代码片段:
# 提取并显示关联规则
rules_data = []
for result in results:
support = result.support
for itemset in result.items: # 将 itemsets 改为 items
base_items = ', '.join(itemset)
for ordered_statistic in result.ordered_statistics:
add_items_set = ordered_statistic.items_base - itemset # 使用集合操作计算差异
add_items = ', '.join(add_items_set) # 转换为字符串形式
confidence = ordered_statistic.confidence
lift = ordered_statistic.lift
rules_data.append([support, confidence, lift, base_items, add_items])
rules_df = pd.DataFrame(rules_data, columns=["Support", "Confidence", "Lift", "Base Items", "Added Items"])
print(rules_df.tail(8))
希望这能解决您遇到的问题。如果还有其他疑问,请随时提问。
内容由零声教学AI助手提供,问题来源于学员提问