def main(): args = p.parse_args() confidence = float(args.confidence) support = float(args.support) max_length = int(args.max_length) print("Apriori (support=%.3f, confidence=%.3f, max_length=%d)" % (support, confidence, max_length)) gitpy = git.Git(CLONE_PATH) # fetching repository / folder project_path = args.dir if args.repository: project_folder = "clone-%s" % generate_hash() project_path = "%s/%s" % (CLONE_PATH, project_folder) print("Cloning repository to %s..." % project_path) gitpy.clone(args.repository, project_folder) print("number of commits: %d" % (get_commit_count(project_path))) print("support absolute value: %d" % (support * get_commit_count(project_path))) # defining language parser parser = BaseParser if args.lang == "go": parser = GoParser elif args.lang == "java": parser = JavaParser elif args.lang == "python": parser = PythonParser print("parsing project...") function_changes = [] for commit in RepositoryMining(project_path).traverse_commits(): language_parser = parser(project_path, commit.hash) changes = language_parser.get_diff() if changes: function_changes.append(changes) print("Transactions:") for changes in function_changes: print(changes) print("analyzing transactions...") apriori = Apriori(function_changes, confidence=float(confidence), support=float(support), max_length=int(max_length)) rules = apriori.get_rules() print("Association rules:") for rule in rules: print(rule)
guessingGame = True if left_circle or right_circle : client.leave_store() if (client.x, client.y) == (280, 600): left_circle = False right_circle = False guessingGame = False client = None # to generate a new client and set a new path for him num_transaction += 1 is_drawn = False score_is_calculated = False client = Client() client = Client() apriori = Apriori() antecedents, consequents = apriori.get_rules() known_transactions = apriori.get_known_transactions() unknown_transactions = [ ('milk','chocolate','croissant'), ('burger','pizza','icecream'), ('soda','icecream','pistachio'), ('chocolate','pistachio','honey'), ('shrimp','fish','sweets'), ('mushroom','medicine'), ('cheese','chicken','fruits','meat'), ('icecream','burger','pizza'), ('milk','biscuit','egg'), ('shrimp','sweets','fish'), ('honey','chocolate','pistachio'), ('medicine','mushroom'), ('burger','pizza','icecream'),
first_window = First_window() known_transactions, unknown_transactions = [], [] first_window.begin(screen, known_transactions, unknown_transactions) # Initialization of variables : client = None mainMenu, startingGame, shopping, guessingGame, gameFinished = True, False, False, False, False transactionsList = [] knownTransactionsIndex, TRANSACTIONS_PER_PAGE, num_transaction = 0, 5, 0 objects= [] # reading data from the objects.txt with open('objects.txt') as f: objects = [line.rstrip('\n') for line in f] client = Client() apriori = Apriori(known_transactions) antecedents, consequents = apriori.get_rules() # Rules building # main loop run = True while run: clock.tick(30) for event in pygame.event.get(): if event.type == pygame.QUIT: run = False elif event.type == pygame.MOUSEBUTTONUP: if guessingGame == True : pos = pygame.mouse.get_pos() # check if the player has clicked on the right circle if((pos[0] - 454)**2 + (pos[1] - 441)**2 < 93**2): Draw_choice.right_circle = True # check if the player has clicked on the left circle
def main(): args = p.parse_args() confidence = float(args.confidence) support = float(args.support) max_length = int(args.max_length) transactions_file_name = args.transactions max_commits = args.max_commits print("support=%.3f" % support) print("confidence=%.3f" % confidence) print("max_length=%d" % max_length) if max_commits: print("max_commits=%d" % int(max_commits)) transactions = [] if transactions_file_name is None: gitpy = git.Git(CLONE_PATH) # fetching repository / folder project_path = args.dir if args.repository: project_folder = "clone-%s" % generate_hash() project_path = "%s/%s" % (CLONE_PATH, project_folder) print("Cloning repository to %s..." % project_path) gitpy.clone(args.repository, project_folder) print("number of commits: %d" % (get_commit_count(project_path))) print("support absolute value: %d" % (support * get_commit_count(project_path))) # defining language parser parser = BaseParser if args.lang == "go": parser = GoParser elif args.lang == "java": parser = JavaParser elif args.lang == "python": parser = PythonParser print("fetching transactions...") commits = RepositoryMining(project_path).traverse_commits() for index, commit in enumerate(commits): if max_commits and index > int(max_commits): break language_parser = parser(project_path, commit.hash) items = language_parser.get_diff() if items: transactions.append(items) else: transaction_json = open(transactions_file_name, 'r').read() transactions = json.loads(transaction_json) if DEBUG: print(ansi_color_yellow("Transactions:")) for i, changes in enumerate(transactions): print("%3d: " % i, end='') print(changes) if args.out_transactions: out_file = open(args.out_transactions, 'w') json.dump(transactions, out_file, indent=2) print("analyzing transactions...") apriori = Apriori(transactions, confidence=float(confidence), support=float(support), max_length=int(max_length)) print(ansi_color_yellow("Association rules:")) # Output in CSV format if args.csv: apriori.get_rules_csv(1000) else: rules = apriori.get_rules() for i, rule in enumerate(rules): print("%3d: " % i, end='') print(rule)