gapriori

package
v0.0.0-...-f3abbe6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 27, 2020 License: MIT Imports: 6 Imported by: 0

README

Apriori原理

如果某个项集是频繁的,那么它的所有子集也是频繁的。该定理的逆反定理为:如果某一个项集是非频繁的,那么它的所有超集(包含该集合的集合)也是非频繁的。

Apriori原理的出现,可以在得知某些项集是非频繁之后,不需要计算该集合的超集,有效地避免项集数目的指数增长,从而在合理时间内计算出频繁项集。比如,已知项集{2,3}是非频繁的。利用这个知识,我们就知道项集{0,2,3},{1,2,3}以及{0,1,2,3}也是非频繁的。也就是说,一旦计算出了{2,3}的支持度,知道它是非频繁的后,就可以紧接着排除{0,2,3}、{1,2,3}和{0,1,2,3},而无需再次为他们扫描整个数据集。

基本概念

频繁项集(Frequent Item Sets):经常出现在一起的物品的集合。

支持度(Support):数据集中包含该项集的记录所占的比例,是针对项集来说的。

置信度(Confidence):出现某些物品时,另外一些物品必定出现的概率,针对关联规则而言。

关联规则(Association Rules):暗示两个物品之间可能存在很强的关系。形如A->B的表达式,规则A->B的度量包括支持度和置信度

项集支持度:一个项集出现的次数与数据集所有事物数的百分比称为项集的支持度 支持度反映了A和B同时出现的概率,关联规则的支持度等于频繁集的支持度。

项集置信度:包含A的数据集中包含B的百分比 置信度反映了如果交易中包含A,则交易包含B的概率。也可以称为在A发生的条件下,发生B的概率,成为条件概率。 只有支持度和置信度(可信度)较高的关联规则才是用户感兴趣的。

算法步骤

①找出所有的二维频集(两个元素的频繁项集),他们出现的频率至少和预定义的最小支持度一样,小于的一律丢弃。

②由频集产生强关联规则,这些规则必须满足最小支持度和最小可信度。

③使用第1步找到的频集产生期望的规则,产生只包含集合的项的所有规则,其中每一条规则的右部只有一项,这里采用的是中规则的定义。

④一旦这些规则被生成,那么只有那些大于用户给定的最小可信度的规则才被留下来。为了生成所有频集,使用了递推的方法。

https://www.cnblogs.com/lsqin/p/9342926.html

https://www.cnblogs.com/qwertWZ/p/4510857.html

https://blog.csdn.net/a394268045/article/details/78994734

Documentation

Index

Constants

View Source
const (
	MIN_SUPPORT float64 = 0.2 // 最小支持度
	MIN_CONF    float64 = 0.8 // 最小置信度
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Apriori

type Apriori struct {
	// contains filtered or unexported fields
}

func NewApriori

func NewApriori() *Apriori

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL