说明奥:菜鸟的自我学习,可能有错。

Close算法原理:

  一个频繁闭合项目集的所有闭合子集一定是频繁的,一个非频繁闭合项目集的所有闭合超集一定是非频繁的。

close算法是对Apriori算法的改进

具体步骤为:

1.先找到候选1项目集FCC1   并得到其支持度和闭合

2.之后对每个候选闭合进行修剪 如果其支持度不小于最小支持度则加入到FC1

3.自身不断循环下去  直到某个r-项目集FCCi为空 则算法结束。

栗子:

(1)计算FCC各个产生式的闭合和支持度
首先得到FCG的产生式: FCC的产生式为(A)、(B)、(C)、(D).(E)

然后计算闭合集。\例如,计算{A}的闭合。数据库中第项(ABE)包含{A},这时(A)的闭合首先得到{ABE};

第四项(ABD}包含{A},所以取{ABD)和{ABE)的交集{AB)作为(A)的闭合:

第五项{AC}包含{A},则取{AB}和{AC)的交集得到{A},作为{A)的团合;

第七项是{AC},交集为{A};第八项{ABCE)与{A}的交集是{A};

第九项{ABC}与{A)的交集是{A)。这时到了最后一项,计算完成, 得到{A}的闭合是(A)。并同时计算出{A)的支持度为6(可通过对出现的A的超集进行计数得到)。同样可以得到FCO所有的闭合与支持度

 (2)进行修剪
将支持度小于最小支持度的候选闭合项删除,得到FC1  这个例子FC1和FCC1是相同的为(A)(B)(C)(D)(E)
 
(3)利用FC1的generator生成FCC2
就是FC1的自连接。。。得到FCC2一AB,AC,AD,AE,BC.BD.BE,CD.CE.DE
修剪(AE)是(E)的闭合(ABE)的子集,(BE)是子集(E)的闭合(ABE)的子集,所以将这网在FCC的元素中我们简单地用AB来代替上面的(AB),这边AE BE,ABE就是!!频繁项目集合 修剪过去了 我是这么理解的
闭合的闭合是本身的话而且支持度不小于最小支持度也就是?表示是频繁项目集了得此刻FCC2为AB,AC,AD,BC.BD.CD.CE.DE  这边为何AB不  我的看法是AB的闭合不是他自己。。。不一定对自己理解的
(4)计算各产生式的闭合和支持度

没表现出来的为空集

 (5)进行修剪
将支持度小于最小支持度的候选闭合项删除.得到FC2,这时(AD)和(CE)的支持度为1,被删除。FC2 = (AB,AC. BC, BD)。
(6)利用FC2的generator生成FCC3并进行裁剪
FC2连接后得到: {ABC,BCD).其中的(BCD)有非频繁子集CD).所以将这项删除。剩下为{ABC),得到的候选项FCC3 ={ABC)。嗯???这边有问题  这边没有ABD   据涛哥说。。。要第一个相同才能连接。。。。所以ABAC相同连接成ABC       BC和BD相连接成BCD
(7) FCC3;不为空,计算各产生式的闭合和支持度ABC的闭合为{ABC),支持度为2。
(8)进行修剪
将支持度小于最小支持度的候选闭合项删除,得到FC3.对于本例.FCC3 只有一项支持度为2,保留。
(9)利用FC3生成FCC4为空,算法结束。 将所有不重复的闭合加入到FC中得到FC={A,B,ABE,BD,C,AB,AC,BC,ABC} 
(10)统计项目集元素数
L3= {ABE,ABC} L2={AB,AC,BC,BD} L1={A,B,C}最大个数为3    

(11)将L3的频繁项分解

先分解(ABE)的所产集为AB,AE和BE后两项不存在,将它们加人到L中,ABC有2-项于集为(AB)、(AC)和(BC),这三项均在L中  得到L2 = {AB AC BC AE BE BD}

(12)将L2的频繁项分解

方法同上,得L1为(A.B.C,D.E)

使用频繁闭团合项目集,发现可以提高关联规则的效率。

不理解的地方有3   待更新 等上课问老师

相连的规则必须要头相同才可以也就是说 两个相连成3个 必须要AB  AC   A是相同的    ABC ABD相连成四个 必须要AB是相同的才可以~~~~~ 涛哥如是说


数据挖掘算法——Close算法的更多相关文章

  1. 数据挖掘10大算法(1)——PageRank

    1. 前言 这系列的文章主要讲述2006年评出的数据挖掘10大算法(见图1).文章的重点将偏向于算法的来源以及算法的主要思想,不涉及具体的实现.如果发现文中有错,希望各位指出来,一起讨论. 图1 来自 ...

  2. CIKM Competition数据挖掘竞赛夺冠算法陈运文

    CIKM Competition数据挖掘竞赛夺冠算法陈运文 背景 CIKM Cup(或者称为CIKM Competition)是ACM CIKM举办的国际数据挖掘竞赛的名称.CIKM全称是Intern ...

  3. 数据挖掘-K-近邻算法

    数据挖掘-K-近邻算法 目录 数据挖掘-K-近邻算法 1. K-近邻算法概述 1.1 K-近邻算法介绍 1.1.1 KNN算法作用 1.1.2 KNN 算法思想 1.1.3 KNN算法特点 1.2 K ...

  4. 数据挖掘之clara算法原理及实例(代码中有bug)

    继上两篇文章介绍聚类中基于划分思想的k-means算法和k-mediod算法 本文将继续介绍另外一种基于划分思想的k-mediod算法-----clara算法 clara算法可以说是对k-mediod ...

  5. 数据挖掘十大算法--K-均值聚类算法

    一.相异度计算  在正式讨论聚类前,我们要先弄清楚一个问题:怎样定量计算两个可比較元素间的相异度.用通俗的话说.相异度就是两个东西区别有多大.比如人类与章鱼的相异度明显大于人类与黑猩猩的相异度,这是能 ...

  6. 数据聚类算法-K-means算法

    深入浅出K-Means算法 摘要: 在数据挖掘中,K-Means算法是一种 cluster analysis 的算法,其主要是来计算数据聚集的算法,主要通过不断地取离种子点最近均值的算法. K-Mea ...

  7. GMM算法k-means算法的比较

    1.EM算法 GMM算法是EM算法族的一个具体例子. EM算法解决的问题是:要对数据进行聚类,假定数据服从杂合的几个概率分布,分布的具体参数未知,涉及到的随机变量有两组,其中一组可观测另一组不可观测. ...

  8. 简单易学的机器学习算法——EM算法

    简单易学的机器学习算法——EM算法 一.机器学习中的参数估计问题 在前面的博文中,如“简单易学的机器学习算法——Logistic回归”中,采用了极大似然函数对其模型中的参数进行估计,简单来讲即对于一系 ...

  9. 最短路径算法-Dijkstra算法的应用之单词转换(词梯问题)(转)

    一,问题描述 在英文单词表中,有一些单词非常相似,它们可以通过只变换一个字符而得到另一个单词.比如:hive-->five:wine-->line:line-->nine:nine- ...

  10. 重新想象 Windows 8 Store Apps (31) - 加密解密: 哈希算法, 对称算法

    原文:重新想象 Windows 8 Store Apps (31) - 加密解密: 哈希算法, 对称算法 [源码下载] 重新想象 Windows 8 Store Apps (31) - 加密解密: 哈 ...

随机推荐

  1. vue实现pc端无限加载功能

    主要思路通过自定义指令,在视图初始化完成后,绑定scroll事件.当scrollTop + clientHeight >= scrollHeight时(此时滚定条到了底部)触发loadMore事 ...

  2. VxWorks信号量问题

    VxWorks主要提供如下API进行信号量的创建.获取和释放:   参数1:SEM_Q_PRIORITY,SEM_Q_FIFO SEM_Q_PRIORITY(值为0x1):需要获取该信号量的任务基于优 ...

  3. 121、Data Binding(数据绑定)(转载)

    http://www.jianshu.com/p/b1df61a4df77 http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/060 ...

  4. 前端编程tips

    1.ts less 网上搜视频教程,不用太复杂的,短短几分钟视频基本就对其入门了,比自己搜官网学习更方便. 常用的ts技术:let name:string="";  let obj ...

  5. nuxt跨域

    根据nuxt官方文档提供的axios module 安装: npm install @nuxtjs/axios @nuxtjs/proxy --save nuxt.config.js modules: ...

  6. 《Go语言网络编程》第一章:体系

    原书地址:http://tumregels.github.io/Network-Programming-with-Go 如果不知道想要构建什么,是不可能创建一个系统的.而且如果不知道它工作的环境,也同 ...

  7. js中的运算符优先级

    运算符有何很多,基本的可能都比较熟,单有些优先级很难记住.建议使用“()”将复杂的运算表达式区分好优先级. 我给运算符优先级做了一首小打油诗. 括号成员new函数 直new后置累计数 单目幂算乘除模 ...

  8. HTML5在手机端实现视频全屏展示

    最近做项目,遇到一个问题,在手机上要实现视频的全屏播放功能.测试了很久,终于找到解决办法. 第一种:将视频放大来控制. 视频在播放的时候,全屏是根据高度来的,如果设置视频 video 标签的宽度是 1 ...

  9. Butterknife 导入项目配置

    在app的 build.gradle 文件中添加 dependencies { // Butterknifeapi 'com.jakewharton:butterknife:8.6.0'annotat ...

  10. react material-ui 添加jss插件

    jss.config.js import { create } from "jss"; import preset from "jss-preset-default&qu ...