挖掘相关规则的算法描述

Mining Assocaition rule algrothm(挖掘相关规则的算法)

此算法中有两个关键参数,coverage(表示预测正确的案例个数,此参数用来筛选哪些实例个数大于或等于这个值得相关规则)

accuracy(表示预测数据的精确度,此参数实际上是满足相关规则的实例的个数/满足规则前部分条件的实例个数)

A  找到满足coverage参数的所有项数的规则集合算法描述

把1赋给变量k

找到所有的满足coverage数量的k项规则集合,并且把它们保存到哈希表#1中

while 发现一些满足coverage数量的k项规则集合

k自增长

在哈希表#(k-1)中,找出所有的只在最后一项不同的k-1项集合

对于每一对创建一个k项集合,通过把两个k-1项集合组合在一起

删除所有任意的k-1项没有在哈希表#(k-1)中的k项集合

遍历数据,并且移除所有不满足coverage数量的剩下的k项集合

把剩下的k项集合和他们的coverage保存到哈希#k的表中并对每一项按语言顺序排序

B  找到k项集合中所有满足给定accuracy(正确率)的相关规则

把1赋给变量n

从k项集合中找到满足指定参数accurate的所有的n个结果的规则,并把他们保存到哈希表#1中,使用哈希表计算项集合的accuracy

while 一些满足accurate的n个结果规则被发现时

n自增长

在哈希表#(k-1)中,找出所有的只在结果最后一项不同的k-1个结果的规则

对于每一对创建一个k个结果的规则,通过把两个k-1个结果的规则组合在一起

移除哪些不满足指定accurate参数的n个结果规则,通过使用 项集合的哈希表来计算accuracy

把剩余的n个结果规则和他们的精确性保存到哈希表#k中,并对每一个结果项按照语言顺序排序

具体案例之后再补充!!!!!!!

时间: 2024-10-11 23:07:51

挖掘相关规则的算法描述的相关文章

标准的Base64算法描述

作者:zhanhailiang 日期:2014-12-19 算法描述: Base64要求把每三个8Bit的字节转换为四个6Bit的字节(38 = 46 = 24),然后把6Bit再添两位高位0,组成四个8Bit的字节,也就是说,转换后的字符串理论上将要比原来的长1/3. 第一个字符通过右移2位获得第一个目标字符的Base64表位置,根据这个数值取到表上相应的字符,就是第一个目标字符. 然后将第一个字符与0x03(00000011)进行与(&)操作并左移4位,接着第二个字符右移4位与前者相或(|)

鸽巢排序算法描述和代码举例

//鸽巢排序//适用条件:所有取值的范围确定,并且在这个范围内个元素的出现频率较高.//算法描述:为取值范围内的各个可能取到的元素建巢用一维数组表示,巢中//    巢中存放该元素出现的个数(通过遍历待排序数统计存入).按照巢的//    顺序和巢中元素个数列出该有序序列.//算法空间复杂度为:S(1)时间复杂度为:O(n). //例:20个非负数,其中每个数的取值范围为1~9. #include<iostream>#include<time.h>using namespace s

十大经典排序算法的算法描述和代码实现

这里详细讲解了十大经典算法的分类,例如交换排序.插入排序.选择排序等比较类排序,以及计数排序.桶排序和基数排序的非比较类排序,分析了各种排序算法的复杂度和稳定性,还有JAVA代码的详细实现.对冒泡排序.插入排序.选择排序和堆排序等十种算法进行了详细的思想总结. 一.算法概述 1.算法分类 十种常见排序算法可以分为两大类:(1)比较类排序:通过比较来决定元素间的相对次序,由于其时间复杂度不能突破O(nlogn)因此也称为非线性时间比较类排序.(2)非比较类排序:不通过比较元素间的相对次序,它可以突

插入排序的算法描述和分析

插入排序(Insertion-Sort)的算法描述是一种简单直观的排序算法. 它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入.插入排序在实现上, 通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中, 需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间. 时间复杂度:最佳为o(n):因为如果是已经排序好的序列话,它每次只需和前面已排序好的序列比较一次,总共比较n次,也是可以通过flag实现的,然后最差时

算法描述》关于SPFA和Dijkstra算法的两三事

本来我是想把这两个算法分开写描述的,但是SPFA其实就是Dijkstra的稀疏图优化,所以其实代码差不多,所以就放在一起写了. 因为SPFA是Dijkstra的优化,所以我想来讲讲Dijkstra. 什么是Dijkstra Dijkstra是一种求单源最短路的基础算法,时间复杂度在不加堆优化的情况下是o(n^2)的,加了堆优化就能简化到o(nlogn),而且算法稳定性很强(从这点上来说比SPFA好多了,具体怎么好下面再讲),基础思路如下: 首先,把所有点到源的距离设为最大,然后把源加入队列,接着

论文中的算法描述 By 薛磊

在写论文的过程中,我们经常需要描述一些算法,如何描述才能清晰.美观.易读.无歧义? 薛磊从<Writing for computer science>中整理了一份PPT,介绍几种常见的算法描述方法. 下面是下载链接: Algorithms_writing.pdf

Frequent Pattern 挖掘之一(Aprior算法)(转)

数据挖掘中有一个很重要的应用,就是Frequent Pattern挖掘,翻译成中文就是频繁模式挖掘.这篇博客就想谈谈频繁模式挖掘相关的一些算法. 定义 何谓频繁模式挖掘呢?所谓频繁模式指的是在样本数据集中频繁出现的模式.举个例子,比如在超市的交易系统中,记载了很多次交易,每一次交易的信息包括用户购买的商品清单.如果超市主管是个有心人的话,他会发现尿不湿,啤酒这两样商品在许多用户的购物清单上都出现了,而且频率非常高.尿不湿,啤酒同时出现在一张购物单上就可以称之为一种频繁模式,这样的发掘就可以称之为

算法描述》关于tarjan算法两三事

关于tarjan,在下觉得这个算法从本质上是一种暴力求强连通分量的方法,但事实上这也是最有效的求强连通分量的方法之一,它对于处理各种强连通分量中奇怪问题,都可以直接转化,所以比较通用和常见. 什么是tarjan 粗略的描述一下(详细描述在百度里很详细) 首先每个点都有时间戳和最小子树戳. 时间戳的定义是这个点进行递归的时间,每新递归一次就增加,所以每个点的时间戳都不一样,最小子树戳的定义是当前点的子树上节点中(包括它自己)时间戳的最小值. 它的基本方法是先把任意一个没有tarjan过的点加入栈,

声纹识别之PLDA算法描述

之前我写过<我对说话人识别/声纹识别的研究综述>,本篇基本上可以是这个综述的续写.其实,写的也没有什么深度,想获得深度信息的朋友们可以不用往下看了,还不如下载几篇领域内的国内博士论文看看.为什么是国内呢?因为国内博士论文前面的综述写的还不错,嘿嘿~我写这个主要是给不熟悉这个领域内的朋友看的,用通熟的话描述这个领域内重要的一些算法,等于是入个门吧. PLDA算法 前面博客已经提到过声纹识别的信道补偿算法,而且重点说了LDA算法.PLDA(Probabilistic Linear Discrimi