关联分析的算法介绍以及案例实现

概念介绍

关联分析又称关联挖掘:发现存在于大量数据集中的关联性或相关性,进行智能推荐。

事务

相当于用户的篮子,篮子里面可能是1项集,也可能是4项集。

项集

篮子里所有的物品构成一个集合。在关联分析中,包含0个或者多个项的集合被称为项集(itemset)。

频繁项集

满足最小支持阈值的所有项集

支持度(support)

  • 项集X的支持度:s(X)=σ(X)/N
  • 规则X==>Y表示前提项目X对结果项目Y的支持度,也就是前提项目X和结果项目Y同时出现的概率
  • support(X—>Y)=P(XY)

置信度(confidence)

  • 置信度衡量前提项目X发生情况下,结果项目Y发生的条件概率
  • 置信度是衡量关联规则是否具有可信度的指标,置信度须达到一定水平(通常为0.5),利用最小置信度为门槛去除正确概率较低的关联规则。
  • cofidence(X—>Y)=P(Y|X)=P(XY)/P(X)

提升度(lift)

  • 增益衡量用于比较置信度与结果项目Y单独发生时两者概率间的大小
  • Lift(X—>Y)=P(Y|X)/P(Y)=P(XY)/(P(X)P(Y))
【下面的这些不常用- -】

杠杆率

  • Leverage:P(A,B)-P(A)P(B)
  • 如果Leverage=0,则A,B独立。Leverage越大,A和B的关联越密切

信念率

  • Conviction=P(A)P(!B)/P(A,!B)
  • 其中,!B表示B没有发生
  • Conviction也是来衡量A,B的独立性。Conviction越大,A和B越关联。

频繁项集算法步骤

  • 算法初始通过单遍扫描数据集,确定每个项的支持度,得到所有频繁1项集的集合
  • 用上一步迭代发现的频繁(k-1)项集,产生新的候选k项集
  • 对候选项的支持度计数
  • 计算候选项的支持度计数,删除支持度计数小于阈值的所有候选项集
  • 当没有新的频繁项集产生时,算法结束。

代码实现

import pandas as pd
from mlxtend.frequent_patterns import apriori
from mlxtend.frequent_patterns import association_rules

data=pd.read_csv("E:\\investment.csv")
data.head

原始数据长这个样子,我们要把它转成onehot形式

  • 3
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值