# -*- coding: utf-8 -*- from apriori import Apriori, ImprovedApriori with open('after.csv', 'r') as fp: lines = fp.readlines() dataSet3 = [] for line in lines: line = line.rstrip() dataSet3.append(line.split(",")) minsup = 0.005 minconf = 0.5 if __name__ == '__main__': # test1 apriori = Apriori(dataSet3, minsup, minconf) apriori.run() apriori.print_frequent_itemset() apriori.print_rule()
from apriori import Apriori dataset = [ ['Elma', 'Yag'], ['Elma', 'Yag', 'Cikolata', 'Ekmek'], ['Elma', 'Cikolata'], ['Elma', 'Cikolata'], ] minsup = 0.3 minconf = 0.6 apriori = Apriori(dataset, minsup, minconf) #apriori.set_selected_items(['1']) apriori.run() apriori.print_frequent_itemset() result = apriori.print_rule() print(result) for res in result: x = res.split(' ==> ') print(x[0]) print(x[1]) # print(res[1])
def apriori(): session.rollback() users = session.query(User).all() favs = list() for user in users: favIds = list() favorites = session.query(Favorite).filter_by( user_mail=user.mail).all() for favorite in favorites: favIds.append(str(favorite.recipe_id)) favs.append(favIds) minsup = 0.4 minconf = 0.4 apriori = Apriori(favs, minsup, minconf) apriori.run() apriori.print_frequent_itemset() result = apriori.print_rule() # print(result) apriori_advices = list() for res in result: x = res.split(' ==> ') # print(len(x[0])) if len(x[0]) <= 2: # print(x[0]) apriori_advices.append(x[0]) apriori_advices.append(x[1]) # print(apriori_advices) key = list() value = list() i = 0 while i < len(apriori_advices): key.append(int(apriori_advices[i])) value.append(int(apriori_advices[i + 1])) i += 4 favorites = session.query(Favorite).filter_by(user_mail=g.user.mail).all() print(favorites) favoriteIds = list() for favorite in favorites: favoriteIds.append(favorite.recipe_id) print(favoriteIds) print(key) adviceIds = list() i = 0 if (len(favoriteIds) > 0): while i < len(key): if contains(fs, key[i]) != True: adviceIds.append(value[i]) i += 1 print(adviceIds) adviceIds = list(set(adviceIds)) print(adviceIds) advices = session.query(Recipe).filter(Recipe.id.in_(adviceIds)).all() return jsonify([advice.serialize for advice in advices]), 201
keys = set() transactionData = list() for line in f: line = str(line).replace("\n", "") transactionItems = str(line).split(",") transactionData.append(transactionItems) return transactionData # dataset = [ # ['bread', 'milk'], # ['bread', 'diaper', 'beer', 'egg'], # ['milk', 'diaper', 'beer', 'cola'], # ['bread', 'milk', 'diaper', 'beer'], # ['bread', 'milk', 'diaper', 'cola'], # ] dataset = getDataset() minsup = 0.01 minconf = 0.4 ap = Apriori(dataset, minsup, minconf) # run algorithm ap.run() # print out frequent itemset ap.print_frequent_itemset() # print out rules ap.print_rule()