换个角度思考问题——频繁项集挖掘的两个优化策略
来源:互联网 发布:吃鸡启动项优化 编辑:程序博客网 时间:2024/05/17 08:24
在以前的博客中介绍过数据挖掘的一个基本问题频繁项集挖掘。对于这一问题,有很多不同思想的算法。同时,也有一些优化策略可以在算法基本不变的情况下大大提高算法的效率。今天介绍两个:竖向数据库(Vertical database)、Diffsets 两个策略非常相像,都是换了一个角度处理数据,巧妙而有效率。
Vertical mining
为了说明这一策略,我用AprioriTID算法和Apriori做一比较:
首先可以将数据库做如下转换:
这时,如果要计算一个项集(itemset)的支持数时,就不用扫描一遍数据库了,而可以对tid数据库做交集。
例如,要计算{pasta,lemon}的支持数:
Diffset
频繁项集挖掘还有一个经典算法——Eclat。Eclat是一个深度优先搜索算法,其为每一个项集维护一个tidset,记录了包含这一项集所有交易的id。
而Diffset相当于tidset的补集,在dense的数据库中,其可以大大减少所需的内存。其示意图如下,其中P表示某一前缀,X Y 代表某一元素或item, t(X)表示X的tidset, d(X)表示X的diffset。简单的说,d(PX)=t(P)-t(X):
阅读全文
0 0
- 换个角度思考问题——频繁项集挖掘的两个优化策略
- 换个角度思考问题
- 换角度思考问题
- [leetcode]Single Number II —— 水题。换个角度思考
- 换个角度思考大数据
- 换个角度想问题
- 一个想法(续二):换个角度思考如何解决IT企业招聘难的问题!
- 基于频繁项集的数据挖掘
- 换个角度想问题,也许成功就是你的
- 3. 从windows8的微软扫雷看创新——跳出现有的框架,换个角度看问题
- 思考问题的角度
- 换个角度想问题,不再孤单
- 换个角度思考:div+css布局入门
- 换个角度思考:div+css布局入门
- 换个角度思考:div+css布局入门
- 换个角度思考:div+css布局入门
- 换个角度思考:div+css布局入门
- Java高级部分流---换个角度思考流
- 用Nginx反向代理Apache
- struts2中s:select标签的使用
- iOS手势识别的详细使用(拖动,缩放,旋转,点击,手势依赖,自定义手势)
- 32位和64位分配空间内存对齐
- android事件传递——2.传递流程详解
- 换个角度思考问题——频繁项集挖掘的两个优化策略
- JPA常用注解
- MyBatis学习总结(一)——MyBatis快速入门
- 快速搞定android混淆
- C语言程序设计(基础1)
- Tensorflow安装教程(Linux+Anaconda2及win10 64位 + anaconda3-4.3.1 + tesorflow1.0)
- spring data jap简单案例
- word2vec 中的数学原理详解(一)目录和前言
- 如何实现CSDN打赏功能