0

我试图通过与下面的列表进行比较来获得匹配的前因冻结集:

********** 已编辑 *********

 dataset = [['Milk', 'Onion', 'Nutmeg', 'Kidney Beans', 'Eggs', 'Yogurt'],

           ['Dill', 'Onion', 'Nutmeg', 'Kidney Beans', 'Eggs', 'Yogurt'],
           ['Milk', 'Apple', 'Kidney Beans', 'Eggs'],
           ['Milk', 'Unicorn', 'Corn', 'Kidney Beans', 'Yogurt'],
           ['Corn', 'Onion', 'Onion', 'Kidney Beans', 'Ice cream', 'Eggs']]

import pandas as pd
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori
te = TransactionEncoder()
te_ary = te.fit(dataset).transform(dataset)
df = pd.DataFrame(te_ary, columns=te.columns_)
frequent_itemsets = apriori(df, min_support=0.6, use_colnames=True)
from mlxtend.frequent_patterns import association_rules

rules = association_rules(frequent_itemsets, metric="lift", min_threshold=1.2)

frozenset(rules["antecedents"]).issubset(frozenset(list(["Eggs","Onion"]))) // it is returning False

但即使匹配,它也不会返回 true。

在 R 中,将如下所示:

rules[which(is.subset(rules@lhs,new_tran)==T)] //its working fine in R

是我做错了吗?如果有人帮助我,我将不胜感激。

4

0 回答 0