Частая добыча паттернов в Python - PullRequest
0 голосов
/ 03 ноября 2018

Я хочу знать, как получить абсолютную поддержку и относительную поддержку наборов элементов в Python. В настоящее время у меня есть следующее:

import pandas as  pd
import pyfpgrowth
from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori
from collections import Counter


dataset = [['a', 'b', 'c', 'd'],
              ['b', 'c', 'e', 'f'],
              ['a', 'd', 'e', 'f'],
              ['a', 'e', 'f'],
              ['b', 'd', 'f']
           ]
te = TransactionEncoder()
te_ary = te.fit(dataset).transform(dataset)
df = pd.DataFrame(te_ary, columns=te.columns_)
print (df)
#print support
print(apriori(df, min_support = 0.0))
#print frequent itemset
frequent_itemsets = apriori(df, min_support=0.6, use_colnames=True)
frequent_itemsets['length'] = frequent_itemsets['itemsets'].apply(lambda x: 
len(x))
frequent_itemsets
print ("frequent itemset at min support = 0.6")
print(frequent_itemsets)

но я не знаю, как вернуть абсолютную поддержку и относительную поддержку.

1 Ответ

0 голосов
/ 05 ноября 2018

Относительная поддержка является частью вашего frequen_itemsets DataFrame. Вы можете получить его от:

frequent_itemsets['support']

И вы можете рассчитать абсолютную поддержку, умножающую поддержку на количество корзин:

frequent_itemsets['support']*len(dataset)
...