⑴ 第九章 数据关联规则分析算法——基于Apriori算法的关联项分析
9.1 基于Apriori算法的关联分析
Aprior算法是关联规则分析中较为经典的频繁项集算法。关联规则反映的是两个或多个事物相互之间的依存性和关联性。如果两个或者多个事物相互之间存在一定的关联关系,则它们之间存在一种关联规则使得它们之间可以进行搭配。
9.1.1 基本概要
Apriori算法利用频繁项集的先验知识,不断地按照层次进行迭代,计算数据集中的所有可能的频繁项集,它的分析主要包括两个核心部分。
1、根据支持度找出频繁项集;
2、根据置信度产生关联规则。
9.1.2 Apriori算法原理
基本流程:
1、扫描历史数据,并对每项数据进行频率次数统计。
2、构建候选集 ,并计算其支持度,即数据出现频率次数与总数的比。
3、对候选项集进行筛选,筛选的数据项支持度应当不小于最小支持度,从而形成频繁项集 .
4、对频繁项集 进行连接生成候选集 ,重复上述步骤,最终形成频繁K项集或者最大频繁项集。
Apriori算法存在两大定理:
1、如果一个集合是频繁项集,那么它的所有子集都是频繁集合。
2、如果一个集合它不是频繁集合,那么它的所有超集都不是频繁项集。
9.1.3 Apriori算法优缺点
优:运算过程非常简单,理论方法也比较容易理解,对数据特征的要求也相对较低。
缺:
1、产生候选集是产生较多的组合,没有考虑将一些无关的元素排除后再进行组合。
2、每次计算项集的过程中都会扫描元素的数据表。
针对不足推出不断改进的Apriori算法:
1、将数据表(事务表)进行压缩。
2、利用哈希表的快速查找特性对项集进行计数统计。
3、合理选样。
⑵ 推荐算法之模型协同过滤(1)-关联规则
关联规则是数据挖掘中的典型问题之一,又被称为购物篮分析,这是因为传统的关联规则案例大多发生在超市中,例如所谓的啤酒与尿布传说。事实上,“购物篮”这个词也揭示了关联规则挖掘的一个重要特点:以交易记录为研究对象,每一个购物篮(transaction)就是一条记录。关联规则希望挖掘的规则就是:哪些商品会经常在同一个购物篮中出现,其中有没有因果关系。为了描述这种“经常性”及“因果关系”,分析者定义了几个指标,基于这些指标来筛选关联规则,从而得到那些不平凡的规律。
(1)计算支持度
支持度计数:一个项集出现在几个事务当中,它的支持度计数就是几。例如{Diaper, Beer}出现在事务 002、003和004中,所以它的支持度计数是3
支持度:支持度计数除于总的事务数。例如上例中总的事务数为4,{Diaper, Beer}的支持度计数为3,所以它的支持度是3÷4=75%,说明有75%的人同时买了Diaper和Beer。
(2)计算置信度
置信度:对于规则{Diaper}→{Beer},{Diaper, Beer}的支持度计数除于{Diaper}的支持度计数,为这个规则的置信度。例如规则{Diaper}→{Beer}的置信度为3÷3=100%。说明买了Diaper的人100%也买了Beer。
一般地,关联规则被划分为动态推荐,而协同过滤则更多地被视为静态推荐。
所谓动态推荐,就是推荐的基础是且只是当前一次(最近一次)的购买或者点击。譬如用户在网站上看了一个啤酒,系统就找到与这个啤酒相关的关联规则,然后根据这个规则向用户进行推荐。而静态推荐则是在对用户进行了一定分析的基础上,建立了这个用户在一定时期内的偏好排序,然后在这段时期内持续地按照这个排序来进行推荐。由此可见,关联规则与协同过滤的策略思路是完全不同的类型。
事实上,即便在当下很多能够拿到用户ID的场景,使用动态的关联规则推荐仍然是值得考虑的一种方法(尤其是我们经常把很多推荐方法的结果综合起来做一个混合的推荐),因为这种方法的逻辑思路跟协同过滤有着本质的不同,问题似乎仅仅在于:个人的偏好到底有多稳定,推荐到底是要迎合用户的长期偏好还是用户的当下需求。
挖掘关联规则主要有Apriori算法和FP-Growth算法。后者解决了前者由于频繁的扫描数据集造成的效率低下缺点。以下按照Apriori算法来讲解。
step 1: 扫描数据集生成满足最小支持度的频繁项集。
step 2: 计算规则的置信度,返回满足最小置信度的规则。
如下所示,当用户购买1商品时推荐2、3商品
⑶ 常见的关联规则挖掘算法包括
典的关联规则挖掘算法包括Apriori算法和FP-growth算法。
apriori算法多次扫描交易数据库,每次利用候选频繁集产生频繁集;而FP-growth则利用树形结构,无需产生候选频繁集而是直接得到频繁集,大大减少扫描交易数据库的次数,从而提高了算法的效率。但是apriori的算法扩展性较好,可以用于并行计算等领域。
2、
Logistic回归,LR有很多方法来对模型正则化。比起NB的条件独立性假设,LR不需要考虑样本是否是相关的。
与决策树与支持向量机不同,NB有很好的概率解释,且很容易利用新的训练数据来更新模型。如果你想要一些概率信息或者希望将来有更多数据时能方便的更新改进模型,LR是值得使用的。
3、决策树,DT容易理解与解释。DT是非参数的,所以你不需要担心野点(或离群点)和数据是否线性可分的问题,DT的主要缺点是容易过拟合,这也正是随机森林等集成学习算法被提出来的原因。
4、支持向量机,很高的分类正确率,对过拟合有很好的理论保证,选取合适的核函数,面对特征线性不可分的问题也可以表现得很好。SVM在维数通常很高的文本分类中非常的流行。
⑷ apriori算法是什么
Apriori算法是第一个关联规则挖掘算法,也是最经典的算法。它利用逐层搜索的迭代方法找出数据库中项集的关系,以形成规则,其过程由连接(类矩阵运算)与剪枝(去掉那些没必要的中间结果)组成。该算法中项集的概念即为项的集合。包含K个项的集合为k项集。项集出现的频率是包含项集的事务数,称为项集的频率。如果某项集满足最小支持度,则称它为频繁项集。
算法应用
随着高校贫困生人数的不断增加,学校管理部门资助工作难度也越加增大。针对这一现象,提出一种基于数据挖掘算法的解决方法。将关联规则的Apriori算法应用到贫困助学体系中,并且针对经典Apriori挖掘算法存在的不足进行改进,先将事务数据库映射为一个布尔矩阵,用一种逐层递增的思想来动态的分配内存进行存储,再利用向量求"与"运算,寻找频繁项集。
⑸ 中医专家系统听说很牛,它的本质是一个什么样的数据挖掘情况
数据挖掘作为一门在海量数据中获取知识的技术,已被越来越多地扩展到不同领域的应用中,在中医药领域应用数据挖掘技术是一个有着广阔前景而又充满挑战性的研究方向。但是,截至目前,对名老中医的学术思想和临证经验的研究,尚停留于整理、归纳阶段,带有一定的主观成份。本课题的主要目的是依据数据挖掘技术,通过收集治疗典型病例的众多医案,从大量有噪声、不完整甚至是不一致的数据中,挖掘出典型病例的用药规律,为中医临床治疗、中医药教学及中成药的胡数研制提供参考。本文的主要研究工作如下:1、深入分析和探讨了一些典型的关联规则挖掘算法,如AIS算法、Apriori算法、FP-Growth算法、DLG算法等。同时,提出了Apriori算法的一种改进算法——基于数组的挖掘关联规则的DRA算法,并将该算法与经典的Apriori算法的运行效率进行了分析比较,该算法只需要扫描数据库一遍,不需要产生候选集,运行效率有了较大提高。