数据分析中关联性分析
算出数据中的支持度和置信度
df_Frequent_Itemsets = apriori(df_ShoppingCarts_sets
, min_support=0.07
, use_colnames=True)
有兴趣的wx
数据分析中关联性分析
算出数据中的支持度和置信度
df_Frequent_Itemsets = apriori(df_ShoppingCarts_sets
, min_support=0.07
, use_colnames=True)
有兴趣的wx
该回答引用chatGPT
置信度表示A项目集出现的同时B项目集也出现的概率,计算公式为:Confidence(A → B) = Support(A & B) / Support(A)
支持度表示A项目集出现的概率,计算公式为:Support(A) = number of transactions containing A / total number of transactions
在您的代码中,使用了Apriori算法对df_ShoppingCarts_sets数据进行关联性分析,并且将支持度设置为0.07。您可以从df_Frequent_Itemsets中提取置信度和支持度的数据。
代码如下:
from mlxtend.frequent_patterns import apriori
# 执行Apriori算法
df_Frequent_Itemsets = apriori(df_ShoppingCarts_sets, min_support=0.07, use_colnames=True)
# 计算置信度
def calculate_confidence(row):
confidence = row['support'] / df_Frequent_Itemsets[df_Frequent_Itemsets['itemsets'] == row['antecedent']]['support'].iloc[0]
return confidence
df_Frequent_Itemsets['confidence'] = df_Frequent_Itemsets.apply(calculate_confidence, axis=1)
# 打印结果
print(df_Frequent_Itemsets)
在计算支持度之前,请确保您已经使用Apriori算法或其他算法对数据进行了关联性分析,并且已经得到了频繁项集。
以下是一段示例代码,可以帮助您计算支持度和置信度:
# 频繁项集数据
frequent_itemsets = apriori(df, min_support=0.3, use_colnames=True)
# 计算支持度
total_transactions = df.shape[0]
frequent_itemsets['support'] = frequent_itemsets['support'] / total_transactions
# 计算置信度
for i in range(frequent_itemsets.shape[0]):
antecedent = frequent_itemsets.iloc[i]['itemsets'][:-1]
support_antecedent = frequent_itemsets[frequent_itemsets['itemsets'] == antecedent]['support'].values[0]
frequent_itemsets.at[i, 'confidence'] = frequent_itemsets.iloc[i]['support'] / support_antecedent
# 打印结果
print(frequent_itemsets)
这里使用了Pandas库来处理数据,假设您的数据存储在名为df的DataFrame中。您可以通过更改min_support的值来调整支持度的阈值。