这个错误通常是由于不支持使用减法运算符来计算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助手提供,问题来源于学员提问


        
        
        
        
        
        
        
        
        
        
                
                
                
                
                
                