首先导入包含apriori算法的mlxtend库,

pip install mlxtend

调用apriori进行关联规则分析,具体代码如下,其中数据集选取本博客 “机器学习算法——关联规则” 中的例子,可进行参考,设置最小支持度(min_support)为0.4,最小置信度(min_threshold)为0.1,

最小提升度(lift)为1.0,对数据集进行关联规则分析,

from mlxtend.preprocessing import TransactionEncoder
from mlxtend.frequent_patterns import apriori
from mlxtend.frequent_patterns import association_rules
import pandas as pd

df_arr = [['苹果','香蕉','鸭梨'],
    ['橘子','葡萄','苹果','哈密瓜','火龙果'],
    ['香蕉','哈密瓜','火龙果','葡萄'],
    ['橘子','橡胶'],
    ['哈密瓜','鸭梨','葡萄']
    ]

#转换为算法可接受模型(布尔值)
te = TransactionEncoder()
df_tf = te.fit_transform(df_arr)
df = pd.DataFrame(df_tf,columns=te.columns_)

#设置支持度求频繁项集
frequent_itemsets = apriori(df,min_support=0.4,use_colnames= True)
#求关联规则,设置最小置信度为0.15
rules = association_rules(frequent_itemsets,metric = 'confidence',min_threshold = 0.15)
#设置最小提升度
rules = rules.drop(rules[rules.lift <1.0].index)
#设置标题索引并打印结果
rules.rename(columns = {'antecedents':'from','consequents':'to','support':'sup','confidence':'conf'},inplace = True)
rules = rules[['from','to','sup','conf','lift']]
print(rules)
#rules为Dataframe格式,可根据自身需求存入文件

输出结果如下:

     from     to sup   conf   lift
0    (哈密瓜)    (火龙果) 0.4 0.666667 1.666667
1    (火龙果)    (哈密瓜) 0.4 1.000000 1.666667
2    (哈密瓜)    (葡萄) 0.6 1.000000 1.666667
3     (葡萄)    (哈密瓜) 0.6 1.000000 1.666667
4     (葡萄)    (火龙果) 0.4 0.666667 1.666667
5    (火龙果)    (葡萄) 0.4 1.000000 1.666667
6  (哈密瓜, 葡萄)    (火龙果) 0.4 0.666667 1.666667
7  (哈密瓜, 火龙果)    (葡萄) 0.4 1.000000 1.666667
8  (葡萄, 火龙果)    (哈密瓜) 0.4 1.000000 1.666667
9    (哈密瓜)  (葡萄, 火龙果) 0.4 0.666667 1.666667
10    (葡萄) (哈密瓜, 火龙果) 0.4 0.666667 1.666667
11    (火龙果)  (哈密瓜, 葡萄) 0.4 1.000000 1.666667

Process finished with exit code 0

以上就是python 实现关联规则算法Apriori的示例的详细内容,更多关于python 实现关联规则算法Apriori的资料请关注其它相关文章!

标签:
python,关联规则算法,python,Apriori

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
评论“python 实现关联规则算法Apriori的示例”
暂无“python 实现关联规则算法Apriori的示例”评论...

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。