FP-growth频繁模式增长方法

先进行数据库投影,得到频繁项然后通过构造一个压缩的数据库结构–FP树来对它们进行挖掘
首先扫描数据库,得到频繁项的列表,频繁项集按支持度计数的递减顺序排序,
创建树的根部,第二次扫描数据库,对第一个事务的扫描可以得到树的第一个分支,只有那些在频繁项集中的项才会被选中,分支中节点的计数代表了树中该节点项所出现的次数,增加计数
节点排列顺序按照项集列表中的顺序

id 项集
1 f,a,c,d,g,i,m,p
2 a,b,c,f,l,m,o
3 b,f,h,j,o
4 b,c,k,s,p
5 a,f,c,e,l,p,m,n

得L = {(f,4),(c,4),(a,3),(b,3),(m,3),(p,3)}
插入两个样本之后的FP树:
FP-growth频繁模式增长方法
最终FP树
FP-growth频繁模式增长方法

程序相关错误及其修正
AttributeError: ‘dict’ object has no attribute ‘iteritems’

Python3.5中:iteritems变为items


dictionary changed size during iteration
list(dict)


AttributeError: ‘dict’ object has no attribute ‘has_key’
key in dict

相关文章: