MS关联规则分析算法

MS关联规则分析算法

  1. 属于建议引擎算法,可根据已购买的商品推测出可能要购买的商品。

  2. 关联规则是在大量数据事例中挖掘项集之间的关联或相关联系。典型如购物篮分析,就是购买了某一商品的用户是否会去购买另一商品。

  3. 关联规则算法是Apriori算法的简单实现,下面是原理分析
    3.1. 支持度:P(A∩B),既有A又有B的概率
    3.2. 置信度:P(B|A),在A发生的事件中同时发生B的概率p(AB)/P(A),例如购物篮分析:牛奶 ⇒ 面包,即购买牛奶的用户同时购买面包的概率
    3.3. 例子:[支持度:3%,置信度:40%]
    支持度3%:意味着3%顾客同时购买牛奶和面包
    置信度40%:意味着购买牛奶的顾客40%也购买面包

  4. 一个或多个项(项的意思是单项,比如,一个商品就是一个项),组成的集合称为项集。算法就是分析各项集的支持度与置信度,为了控制计算量,需要控制项集的数量,可以通过配置参数来控制。

  5. 关联规则分析算法重要配置参数
    5.1. Minimum_Support:指定包含项集的最小事例数,也就是说项集的事项数必须超过该设定才进行挖掘
    5.2. Minimum_Probability:定义关联有效性的最小值,也就是说当关联的有效性小于该值时不会被展示
    5.3. 算法就是对各个项进行排列组合,并计算项集的支持度和置信度,且满足参数的限定,最后得出分析结果

  6. 关联模型所需输入
    6.1. 单键列:输入表的主键,且是单一键列
    6.2. 单个可预测列:一个关联模型只能有一个可预测列,通常它是嵌套表的键列
    6.3. 输入列:输入列必须为离散列。关联模型通常包含两个表,一个主表一个嵌套表,如主表是会员的订单信息,嵌套表是会员的订单的明细。

  7. 数据准备
    7.1. 创建一个主数据视图,主要是生成了会员号与日期的联合的会员按日消费单号
    create view [dbo].[v_DM_Association_vipDate]
    as
    –会员信息及会员号与日期组成的消费单号
    select v.vipKey, v.vipAkey, v.vipName, v.vipAkey+’-‘+cast(d.fullDate as varchar) saleKey
    from [dbo].[DimVip] v
    join [dbo].[FactVipSaleAndBonus] vs on vs.vipKey=v.vipKey
    join [dbo].[DimStore] s on s.storeKey=vs.storeKey
    join [dbo].[DimDate] d on d.dateKey=vs.dateKey
    group by v.vipKey, v.vipAkey, v.vipName, d.fullDate

7.2. 创建一个嵌套视图,主要生成了会员各日的店铺消费明细和店铺对应的消费顺序号
create view [dbo].[v_DM_Association_vipDateDetail]
as
–会员号与日期组成的消费单号,与消费的店铺信息及消费顺序号
select s.storeAkey, s.storeName, v.vipAkey+’-‘+cast(d.fullDate as varchar) saleKey
,row_number() over(partition by v.vipAkey+’-‘+cast(d.fullDate as varchar) order by vs.hourKey) sequence
from [dbo].[DimVip] v
join [dbo].[FactVipSaleAndBonus] vs on vs.vipKey=v.vipKey
join [dbo].[DimStore] s on s.storeKey=vs.storeKey
join [dbo].[DimDate] d on d.dateKey=vs.dateKey
group by v.vipAkey, d.fullDate, s.storeAkey, s.storeName, vs.hourKey

7.3. 在挖掘项目中,将两个视图引入数据源视图,并增加逻辑主键和表关联如下
这里写图片描述

  1. 创建关联规则挖掘模型
    8.1. 参考决策树的创建方式,直到指定表类型
    8.2. 指定表类型-》事例勾选“v_DM_Association_vipDate”,也就是主表-》嵌套表勾选“v_DM_Association_vipDateDetail”,也就是明细表
    8.3. 指定定型数据-》主表键是saleKey默认已勾选-》我们要预测的是会员可能要去哪些店铺购物,所以可预测列勾选“storeName”-》并且我们要分析的数据为会员已经去了哪些店铺购物,所以输入列勾选“storeName”-》还要为嵌套表指定键列,我们这里就直接勾选“storeName”了
    8.4. 勾选“可钻取”,完成挖掘模型向导

  2. 挖掘模型查看器
    9.1. 规则
    9.1.1. 概率:意思是产品间会产生关联的概率
    9.1.2. 重要性:衡量该规则重要性程度的指标
    9.1.3. 规则:挖掘出来的关联规则,“->”符号前的为已有商品,其后的为推测出来的关联商品
    9.2. 项集
    9.2.1. 支持:频率,表示包含目标项目的事例的数目(如项集A,支持100,意思是输入表中项集A有100个事例,A出现了100次)
    9.2.2. 大小:表示项集中项的个数
    9.2.3. 项集:显示了项集中具体的各个项(如,商品)的信息
    9.3. 依赖关系网络:是各项间关系的直观映射,每个椭圆代表了一个项,箭头表示预测方向,左侧可调节依赖关系的强弱

  3. 挖掘模型预测
    10.1. 选择挖掘模型
    10.2. 选择输入表主表-》选择嵌套表-》修改联接,将挖掘模型与输入键列进行映射
    10.3. 预测参数配置
    10.3.1. 配置输入表的输出字段,这样就能预测输入表对应的预测结果输出-》这里将会员名和会员号输出
    10.3.2. 源:“预测函数”-》字段:“PredictAssociation”(预测关联)-》条件/参数:拖入挖掘模型的嵌套表-》后面加上“,include_statistics,3”,意思是预测关联性最强的前三个项
    10.3.3. 点击查看结果-》保存结果

  4. 截图说明
    11.1. 店铺间的依赖关系
    这里写图片描述

11.2. 模型预测参数配置
这里写图片描述

11.3. 模型预测结果
11.3.1. 其中support是支持的事例数
11.3.2. Probability是可能性
11.3.3. adjustedProbability是准确度
这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值