关联规则算法及其画图(python
•
Python
目录
- 1.代码:
- 2.效果:
- 小结:
1.代码:
算法的介绍和原理就不多阐述了,链接放在这里:
介绍和原理1
介绍和原理2
import numpy as np
import seaborn as sns
import pandas as pd
from matplotlib import pyplot as plt
from mlxtend.frequent_patterns import apriori
from mlxtend.frequent_patterns import association_rules
# input
df_Retails = pd.read_excel("关联.xlsx")
df_Retails.head()
# process
df_Retails = df_Retails.set_index("记录")
# output
print(df_Retails.shape)
print(df_Retails.columns)
print(df_Retails.describe())
# 统计频繁项集(支持度筛选)
df_Frequent_Itemsets = apriori(df_Retails,min_support=0.07,use_colnames=True)
print(df_Frequent_Itemsets)
# 计算关联规则(提升度筛选)
df_AssociationRules = association_rules(df_Frequent_Itemsets
,metric="lift"
,min_threshold=1)
print(df_AssociationRules)
# 筛选关联规则(提升度和置信度筛选)
df_A=df_AssociationRules[(df_AssociationRules["lift"]>=1.4)&(df_AssociationRules[ "confidence"]>=0.35)]
print(df_A)
#处理中文乱码
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
# 画散点图
# 创建一个新的图形,并设置背景色为浅棕色
fig = plt.figure(facecolor='#F5DEB3')
ax = fig.add_subplot(111)
ax.set_facecolor('#F5DEB3')
plt.title("散点图")
plt.scatter(df_AssociationRules["support"], df_AssociationRules["confidence"], s=[lift ** 13 for lift in df_AssociationRules["lift"]], c="#866D0D") # 这里数据可能不太好,所以为了效果明显,所以扩大为了原来的13次方
plt.xlabel('support')
plt.ylabel('confidence')
plt.title('散点图')
plt.show()
2.效果:

小结:
关注我给大家分享更多有趣的知识,以下是个人公众号,提供 ||代码兼职|| ||代码问题求解||
由于本号流量还不足以发表推广,搜我的公众号即可:

本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://www.net2asp.com/8b1866182f.html
