week18 挖掘数据中的关联规则

推荐系统中的几种常用算法

• 基于内容的推荐

ü 内容特征表示,特征学习,推荐列表

• 基于协同过滤的推荐

ü 群体智能,用户历史行为

• 基于关联规则的推荐

ü Transaction,频繁项集和关联规则挖掘

• 基于效用的推荐

ü 效用函数的定义

• 基于知识的推荐

ü 知识图谱的创建

• 组合推荐

ü 实际工作中经常采用

ü 每种推荐算法都有自己的使用场景,可以综合考虑

基于关联规则的推荐算法:

Apriori算法

FPGrowth算法

PrefixSpan算法

什么是关联规则

关联规则:Association Rules,或者是 Basket Analysis

解释了:如果一个消费者购买了产品A,那么他有多大几率会购买产品B?

关联规则是基于transaction,而协同过滤基于用户偏好(评分)

商品组合使用的是购物篮分析,也就是Apriori算法,协同过滤计算的是相似度

关联规则没有利用“用户偏好”,而是基于购物订单进行的频繁项集挖掘

Apriori算法的流程是怎样的

Apriori算法的流程:

Step1,K=1,计算K项集的支持度;

Step2,筛选掉小于最小支持度的项集;

Step3,如果项集为空,则对应K-1项集的结果为最终结果。

否则K=K+1,重复1-3步。

Apriori算法存在哪些不足

Apriori在计算的过程中存在的不足:

可能产生大量的候选集。因为采用排列组合的方式,把可能的项集都组合出来了

每次计算都需要重新扫描数据集,计算每个项集的支持度:浪费了计算空间和时间

相关性分析与回归分析

相关性分析:

如果有一定的相关性了,然后再通过回归分析进一步验证他们之间的准确关系

通过相关分析求得相关系数没有回归分析的准确

相关分析是一种描述性的分析,而回归分析得到的结果更为重要和准确

使用DataFrame显示各元素间的相关性:

DataFrame.corr(method=’pearson’, min_periods=1)

method参数

pearson,衡量两个数据集合是否在一条线上面,针对线性数据的相关系数计算,对于非线性数据有误差

kendall,反映分类变量相关性的指标,通常用于评分数据一致性水平研究,比如评委打分,数据排名等

spearman:非线性的,非正太分布的数据的相关系数

pearson系数,使用最广泛的相关性统计量,用于测量两组连续变量之间的线性关联程度

回归分析:

回归分析(Regression) :

确定两种或两种以上变量之间相互依赖的定量关系的统计方法,使用非常广泛

按照涉及的变量的多少,分为一元分析和多元回归分析

按照因变量的多少,分为简单回归分析和多重回归分析

按照自变量和因变量之间的关系类型,分为线性回归分析和非线性回归分析

线性回归模型

损失函数

损失函数可以衡量模型的好坏

MSE,均方误差,是在回归问题中比较常用的损失函数

clf = linear_model.LinearRegression()

fit(X,y),训练,拟合参数

predict(X) ,预测

coef_ ,存放回归系数

intercept_,存放截距

score(X,y), 得到评分结果,R方(确定系数)

R方(r-squared):

R方也叫确定系数(coefficient of determination),表示模型对现实数据拟合的程度,评估预测效果

R方计算,等于1减去y对回归方程的方差(未解释离差)与y的总方差的比值

一元线性回归中R方等于皮尔逊积矩相关系

比如,R平方=0.8,表示回归关系可以解释因变量80%的变异。换句话说,如果我们能控制自变量x不变,那么因变量y的变异程度会减少80%

在sklearn计算中,相关系数有正负

关联规则中的支持度、置信度和提升度代表的什么,如何计算

支持度:是个百分比,指的是某个商品组合出现的次数与总次数之间的比例。支持度越高,代表这个组合出现的频率越大。

“牛奶”的支持度=4/5=0.8

“牛奶+面包”的支持度=3/5=0.6。

置信度:是个条件概念

指的是当你购买了商品A,会有多大的概率购买商品B

置信度(牛奶→啤酒)=2/4=0.5

置信度(啤酒→牛奶)=2/3=0.67

提升度:商品A的出现,对商品B的出现概率提升的程度

提升度(A→B)=置信度(A→B)/支持度(B)

提升度的三种可能:

提升度(A→B)>1:代表有提升;

提升度(A→B)=1:代表有没有提升,也没有下降;

提升度(A→B)<1:代表有下降。

订单编号

购买的商品

1

牛奶、面包、尿布

2

可乐、面包、尿布、啤酒

3

牛奶、尿布、啤酒、鸡蛋

4

面包、牛奶、尿布、啤酒

5

面包、牛奶、尿布、可乐

关联规则与协同过滤的区别

关联规则是基于transaction,而协同过滤基于用户偏好(评分)

商品组合使用的是购物篮分析,也就是Apriori算法,协同过滤计算的是相似度

关联规则没有利用“用户偏好”,而是基于购物订单进行的频繁项集挖掘

当下的需求:

推荐的基础是且只是当前一次的购买/点击 (关联规则)

长期偏好:

基于用户历史的行为进行分析,建立一定时间内的偏好排序(协同过滤)

两种推荐算法的思考维度不同,很多时候,我们需要把多种推荐方法的结果综合起来做一个混合的推荐。

关联规则中的最小支持度、最小置信度该如何确定

最小支持度,最小置信度是实验出来的

最小支持度:

不同的数据集,最小值支持度差别较大。可能是0.01到0.5之间

可以从高到低输出前20个项集的支持度作为参考

最小置信度:可能是0.5到1之间

提升度:表示使用关联规则可以提升的倍数,是置信度与期望置信度的比值

提升度至少要大于1

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享