关联分析(1):概念及应用

关联分析(Association Analysis)是一种常用的挖掘算法,用来挖掘数据之间的内在关联。逻辑简单,但是功能强大,可以在诸多领域进行使用。本篇为关联分析系列的第一篇,主要介绍关联分析的应用场景,和了解关联分析必须知道的基本概念思路

应用场景

关联分析应用在项不多的情况下,从整体数据中挖掘潜在关联。具体应用场景可分为如下几个:

  1. 产品推荐与引导。关联分析做推荐时,主要用于个性化不强的场景。比如根据购买记录,通过关联分析发现群体购买习惯的内在共性,指导超市产品摆放。对于偏个性化场景,比如给目标用户推荐产品,可以先找出购买习惯与目标用户相似的人群,对此特定人群的购买记录进行关联分析,然后将分析出的规则与目标用户的购买记录结合,进行推荐。
  2. 发掘潜在客户,精准营销。当通过关联分析,发现许多购买A的用户还会购买B,即有规则A—>B,可通过有购买B产品行为的用户,找到A产品的潜在意向用户,进行精准营销。
  3. 特征筛选。在特征工程中,需要对特征进行筛选。对特征筛选包括:保留与目标变量关联大的特征,删除高度相关的特征。在一般使用的相关性系数方法中,只能判断两个变量间的相关性,而通过关联分析得到的规则,可以判断多个变量之间的关系。比如针对规则{x1,x2}—>{x3},则可能存在x3不能与{x1,x2}同时放入模型中的可能性;针对规则{x4,x5}—>{y1},则可能x4,x5同时放入模型时,会有较好的结果。

基本概念

关联分析中,涉及到一些基本概念。假设有如下数据,则每行表示一个事务,每列表示一个,包含k个项的集合称为k项集

关联规则。关联规则是形如X->Y的表达式,如:{crime = y, immigration = no} -> {Democrat}。X称为前件,Y称为后件,X和Y不包含相同的项。

支持度(support)。支持度指X,Y中的项,同时出现的事务数占总事务数的比例。由于同时出现{crime = y, immigration = no}和{Democrat}的事务数为1,总事务数为4,所以规则的支持度为1/4=0.25。

置信度(confidence)。置信度指Y在包含X的事务中,出现占比。{crime = y, immigration = no}出现的事务数为2,因此规则的置信度为1/2=0.5。

支持度用来删除无意义的规则,置信度越高,表示Y在包含X的事务中出现的可能性越大。关联规则表示X,Y较容易同时出现,但是不代表有必然的因果关系。

关联规则挖掘。给定支持度阈值minsup,和置信度阈值minconf,关联规则挖掘指找到支持度>minsup,置信度>minconf的规则。

规则产生思路

规则产生的原始方法是计算每个可能规则的支持度和置信度。但是当项数增多时,可能的规则总数会以指数增长,带来巨大开销,且因阈值的限制,会导致很多开销是无用的,因此需要对规则产生思路进行优化。

通常采用的策略为拆分支持度和置信度要求。先找到满足支持度>minsup的所有项集,即频繁项集,再从频繁项集中找到满足置信度>minconf的规则。进行这样的任务分解,可以满足规则发现的原因在于,对于规则:

{crime = y, immigration = no} -> {Democrat}

{Democrat} -> {crime = y, immigration = no}

{Democrat, immigration = no} -> {crime = y}

{crime = y} -> {Democrat, immigration = no}

{Democrat, crime = y} -> {immigration = no}

{immigration = no} -> {Democrat, crime = y}

他们的支持度仅依赖于项集{Democrat, crime = y, immigration = n},如果此项集是非频繁的,则由此项集可以产生的上述6条规则,都将不满足minsup要求,因此不必再计算他们的置信度。

原文发布于微信公众号 - 机器学习养成记(chenchenwings)

原文发表时间:2018-05-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏人工智能头条

从零实现来理解机器学习算法:书籍推荐及克服障碍的技巧

1485
来自专栏BestSDK

50种机器学习和人脸识别API,收藏好!以后开发不用找啦

API 是一套用于构建软件程序的协议和工具。对于应用开发者而言,有了开放的 API,就可以直接调用其他公司做好的功能为我所用,这在很大程度上提升了工作效率。本文...

2093
来自专栏ATYUN订阅号

赛灵思推出用于AI推理的XDNN FPGA架构

FPGA可能没有像一些人预期的那样在深度学习训练空间中占据一席之地,但AI推理的低功耗,高频率需求非常适合可重编程硬件的曲线。

2023
来自专栏人工智能头条

50种机器学习和预测应用的API,你想要的全都有

1847
来自专栏AI研习社

干货 | 论机器学习的可重复性危机

AI 研习社按,机器学习研究者、Jetpac 的 CTO、《The Public Data Handbook》和《The Big Data Glossary f...

1022
来自专栏PPV课数据科学社区

从零实现来理解机器学习算法:书籍推荐及障碍的克服

【编者按】并非所有的开发者都有机器学习算法的基础知识,那么开发者如何从零入门来学习好机器学习算法呢?本文总结推荐了一些从零开始学习机器学习算法的办法,包括推荐了...

3305
来自专栏腾讯Bugly的专栏

【MIG专项测试组】如何准确评测Android应用的流畅度?

叶方正,2008年加入腾讯,就职于无线研发部【专项测试组】。曾经负责多个产品的性能优化工作,积累大量的移动终端平台优化以及评测经验。 怎样获取SM值? 前文我们...

5225
来自专栏FD的专栏

从人脸识别到机器翻译:52个有用的机器学习和预测API

人工智能正在成为新一代技术变革的基础技术,但从头开始为自己的应用和业务开发人工智能程序既成本高昂,且往往很难达到自己想要的性能表现,但好在我们有大量现成可用的 ...

1041
来自专栏机器之心

想轻松复现深度强化学习论文?看这篇经验之谈

选自Amid Fish 作者:Matthew Rahtz 机器之心编译 近期深度强化学习领域日新月异,其中最酷的一件事情莫过于 OpenAI 和 DeepMin...

3356
来自专栏大数据挖掘DT机器学习

52 个有用的机器学习与预测API

随着基于人工智能与机器学习的应用如雨后春笋般不断涌现,我们也看到有很多提供类似功能的 API 悄悄登上了舞台。 API 是用于构建软件应用的程序、协议以及工具的...

38010

扫码关注云+社区

领取腾讯云代金券