[Python] DataFrames with non-bool types result in worse computationalperformance

Discussão em 'Python' iniciado por Stack, Janeiro 21, 2025.

  1. Stack

    Stack Membro Participativo

    This is the error am seeing in the image and the warning on my terminal

    C:\Users\BALLER\Downloads\cs_model\venv\Lib\site-packages\mlxtend\frequent_patterns\fpcommon.py:109: DeprecationWarning:

    DataFrames with non-bool types result in worse computationalperformance and their support might be discontinued in the future.Please use a DataFrame with bool type

    My code #Merging Cluster with Main dataframe sel_Cluster = RFM_Table[['RESPID','Cluster']] Merged_DF_RFM_Table_Cluster= pd.merge(Merged_DF_RFM_Table,sel_Cluster,on='RESPID') #Merged_DF_RFM_Table_Cluster

    cluster_Two=Merged_DF_RFM_Table_Cluster[Merged_DF_RFM_Table_Cluster.Cluster == 2]
    cluster_One=Merged_DF_RFM_Table_Cluster[Merged_DF_RFM_Table_Cluster.Cluster == 1]
    cluster_Zero=Merged_DF_RFM_Table_Cluster[Merged_DF_RFM_Table_Cluster.Cluster == 0]

    #Finding frequency item set for Cluster 2
    basket_Cluster_two = (cluster_Two.groupby(['RESPID','PRODUCE'])['QUANTITY']
    .sum().unstack().reset_index().fillna(0)
    .set_index('RESPID'))

    def encode_units(x):
    if x <= 0:
    return 0
    if x >= 1:
    return 1

    basket_cluster_two_sets = basket_Cluster_two.copy()
    basket_cluster_two_sets = basket_cluster_two_sets.applymap(encode_units)

    #Finding frequency item set for Cluster 1
    basket_Cluster_one = (cluster_One.groupby(['RESPID','PRODUCE'])['QUANTITY']
    .sum().unstack().reset_index().fillna(0)
    .set_index('RESPID'))

    def encode_units(x):
    if x <= 0:
    return 0
    if x >= 1:
    return 1

    basket_cluster_one_sets = basket_Cluster_one.copy()
    basket_cluster_one_sets = basket_cluster_one_sets.applymap(encode_units)

    #Finding frequency item set for Cluster 0
    basket_Cluster_zero = (cluster_Zero.groupby(['RESPID','PRODUCE'])['QUANTITY']
    .sum().unstack().reset_index().fillna(0)
    .set_index('RESPID'))

    def encode_units(x):
    if x <= 0:
    return 0
    if x >= 1:
    return 1

    basket_cluster_zero_sets = basket_Cluster_zero.copy()
    basket_cluster_zero_sets = basket_cluster_zero_sets.applymap(encode_units)

    from mlxtend.frequent_patterns import apriori
    from mlxtend.frequent_patterns import association_rules



    #%matplotlib inline
    frequent_itemsets_cluster_two=apriori(basket_cluster_two_sets, min_support=0.03, use_colnames=True)
    frequent_itemsets_cluster_one=apriori(basket_cluster_one_sets, min_support=0.02, use_colnames=True)
    frequent_itemsets_cluster_zero=apriori(basket_cluster_zero_sets, min_support=0.01, use_colnames=True)
    #fic_zero=apriori(basket_cluster_zero_sets, min_support=0.001, min_confidence=0.5, min_lift=3, min_length=1, use_colnames=True)

    #Build frequent itemsets for Cluster two
    frequent_itemsets_cluster_two['length'] = frequent_itemsets_cluster_two['itemsets'].apply(lambda x: len(x))
    rules_cluster_two = association_rules(frequent_itemsets_cluster_two, metric="lift", min_threshold=1)


    #Build frequent itemsets for Cluster one
    frequent_itemsets_cluster_one['length'] = frequent_itemsets_cluster_one['itemsets'].apply(lambda x: len(x))
    rules_cluster_one = association_rules(frequent_itemsets_cluster_one, metric="lift", min_threshold=1)


    #Build frequent itemsets for Cluster Zero
    frequent_itemsets_cluster_zero['length'] = frequent_itemsets_cluster_zero['itemsets'].apply(lambda x: len(x))
    rules_cluster_zero = association_rules(frequent_itemsets_cluster_zero, metric="lift", min_threshold=1)

    Continue reading...

Compartilhe esta Página