Exemplo n.º 1
0
def main():
    df = pd.read_csv('./temp/ml-100k/u.data', sep='\t', header=None, usecols=[0, 1, 2], names=['userid', 'itemid', 'rating'])
    table = pd.pivot_table(df, values='rating', index=['userid'], columns=['itemid'])
    model = Apriori()
    model.fit(table)
    model.predict()
Exemplo n.º 2
0
                         
    optParser.add_option('-s', '--minSup', 
                         dest='minSup',
                         help='Mininum support',
                         type='float',
                         default=0.01)  # mininum support value 
                         
    optParser.add_option('-n', '--fname', dest='fname',
                         help='file name',
                         type='string',
                         default='patterns.txt')  # name file to save all-term freq

    (options, args) = optParser.parse_args()       
        
    # Get parameters
    filePath = options.filePath
    minSup  = options.minSup
    fname = options.fname
    print("""Parameters: \n - filePath: {} \n - mininum support: {} \n - save file name: {} \n""".\
          format(filePath,minSup,fname))

    # Run and save
    objApriori = Apriori(minSup)
    itemCountDict, freqSet = objApriori.fit(filePath)
    with open(fname,"w+") as f:
        for key, values in freqSet.items():
            for var in values:
                line = ';'.join([x for x in var])
                line = '{}:'.format(itemCountDict[var])+line +'\n'
                f.write(line) 
    print("Save done!")        
Exemplo n.º 3
0
from apriori import Apriori
from fpgrowth import FPGrowth
from utils import read_data
import time

if __name__ == '__main__':
    transactions, items = read_data('Online Retail.xlsx')
    # transactions, items = {'T1': ['pasta', 'lemon', 'bread', 'orange'],
    #                        'T2': ['pasta', 'lemon'],
    #                        'T3': ['pasta', 'orange', 'cake'],
    #                        'T4': ['pasta', 'lemon', 'orange', 'cake']}, ['pasta', 'lemon', 'bread', 'orange', 'cake']

    t1 = time.time()
    apriori = Apriori()
    apriori.fit(transactions=transactions, items=items, min_support=0.03)
    # result = apriori.predict(['pasta', 'lemon'])
    result = apriori.predict(['84029G', '84029E'])
    print(len(apriori.rules))
    t2 = time.time()
    print(result)
    print(t2 - t1)

    print('--------------------------------------------')

    t1 = time.time()
    fp_growth = FPGrowth()
    fp_growth.fit(transactions=transactions, items=items, min_support=0.03)
    result = fp_growth.predict(['84029G', '84029E'])
    # result = fp_growth.predict(['pasta', 'lemon'])
    print(len(fp_growth.rules))
    t2 = time.time()