数据挖掘冰山立方体构建算法:BUC及实现

1.冰山立方体知识:

waiting...

2.代码实现:

  • 实现思路:全程模拟,写的时候理解还不够透彻,第一轮算出频率大于min_sup的集合,然后根据此集合开始不断向下扩展,筛选所有大于min_sup的项直至达到最大维数。
  • 实现过程遵循的原则:所有出现在数据中但未出现在满足min_sup的集合中的项一律不予计算
  • 未实现:理想地,应当首先处理最有区分能力的维。维应当以基数递减数处理。基数越高,分区越小,因而分区越多,从页为BUC剪枝提供了更大的机会。

代码:

test.csv:

a1,b1,c1,d1
a1,b2,c2,d2
a1,b3,c2,d1
a1,b4,c1,d2
a2,b1,c1,d1
a2,b2,c2,d2
a2,b3,c2,d1
a2,b4,c1,d2
a3,b1,c1,d1
a3,b2,c2,d2
a3,b3,c2,d1
a3,b4,c1,d2
a4,b1,c1,d1
a4,b2,c2,d2
a4,b3,c1,d2
a4,b4,c2,d1

BUC: 

 

with open('test.csv','r') as fr:
    data_count = dict()
    data = fr.read().splitlines()
    for i in range(len(data)):
        data[i] = str(data[i]).split(",")

dims = [x[0] for x in data[0]]  # record representat
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值