pythonjupyter-notebookassociationsapriorifpgrowth

TypeError: apriori() got an unexpected keyword argument 'mini_support'


def perform_rule_calculation(transact_items_matrix, rule_type="fpgrowth", min_support=0.001):
    
    start_time = 0
    total_execution = 0
    
    if(not rule_type=="fpgrowth"):
        start_time = time.time()
        rule_items = apriori(transact_items_matrix, 
                       mini_support=min_support, 
                       use_colnames=True, low_memory=True)
        total_execution = time.time() - start_time
        print("Computed Apriori!")
        
    n_range = range(1, 10, 1)
   list_time_ap = []
   list_time_fp = []
for n in n_range:
    time_ap = 0
    time_fp = 0
    min_sup = float(n/100)
    time_ap = perform_rule_calculation(trans_encoder_matrix, rule_type="fpgrowth", min_support=min_sup)
    time_fp = perform_rule_calculation(trans_encoder_matrix, rule_type="aprior", min_support=min_sup)
    list_time_ap.append(time_ap)
    list_time_fp.append(time_fp)

This is the tutorial about the apriori vs FP growth algorithm the problem here calculating minimum support in apriori I got this error. how can I solve this?


Solution

  • its just a typo. you have typed mini instead of min while generating rules. I have corrected it below

    def perform_rule_calculation(transact_items_matrix, rule_type="fpgrowth", min_support=0.001):
        
        start_time = 0
        total_execution = 0
        
        if(not rule_type=="fpgrowth"):
            start_time = time.time()
            rule_items = apriori(transact_items_matrix, 
                           min_support=min_support, 
                           use_colnames=True, low_memory=True)
            total_execution = time.time() - start_time
            print("Computed Apriori!")
            
        n_range = range(1, 10, 1)
       list_time_ap = []
       list_time_fp = []
    for n in n_range:
        time_ap = 0
        time_fp = 0
        min_sup = float(n/100)
        time_ap = perform_rule_calculation(trans_encoder_matrix, rule_type="fpgrowth", min_support=min_sup)
        time_fp = perform_rule_calculation(trans_encoder_matrix, rule_type="aprior", min_support=min_sup)
        list_time_ap.append(time_ap)
        list_time_fp.append(time_fp)