在数据挖掘中,关联规则学习是一种重要的技术,用于发现数据集中变量之间的关系。 你需要实现Apriori算法,来生成频繁项集,并生成关联规则。 不建议使用sklearn的库函数直接实现。 支持度计算公式:support(A) = {TA⊆T} D,其中D是所有事务的集合,D是事务的数量,{TA⊆T}是包含项集A的事务的数量。 置信度计算公式:confidence(A-B) = support(A∪B) support(A),其中A和B是两个项集,A∪B是A和B的并集,support(A∪B)是包含A和B的事务的数量,support(A)是包含A的事务的数量。
输入描述:
第一行输入一个整数n,表示事务的数量。接下来n行,每行输入一个事务,格式为“item1, item2, ..., itemk”,其中item1, item2, ..., item_k是事务中的项,用空格分隔。最后一行输入两个浮点数min_sup和min_conf,分别表示最小支持度和最小置信度。
输出描述:
输出关联规则及其置信度,按照置信度从高到低排序,置信度相同则按照规则前件大小升序排列,如若还是相同则按照规则后件大小升序排列格式为“规则前件 - 规则后件: 置信度”。置信度保留两位小数。
示例1
输入
5
icecream pizza salad coffee beer butter diary cheese
tea icecream
wine
salad pizza beer pizza butter milk wine chocolate icecream
icecream beer
0.55 0.64
输出
{'beer'} -> {'icecream'}: 1.00
{'icecream'} -> {'beer'}: 0.75
备注:
支持numpy,scikit-learn,pandas等库
加载中...