R语言和数据分析十大:购物篮分析

R语言和数据分析十大:购物篮分析

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

提到数据挖掘,我们的第一个反应是之前的啤酒和尿布的故事听说过,这个故事是一个典型的数据挖掘关联规则。篮分析的传统线性回归之间的主要差别的差别,对于离散数据的相关性分析;

常见的关联规则:

关联规则:牛奶=>卵子【支撑=2%,置信度=60%】

支持度:分析中的所有事务的2%同一时候购买了牛奶和鸡蛋,需设定域值,来限定规则的产生。

置信度:购买了牛奶的筒子有60%也购买了鸡蛋,需设定域值,来限定规则的产生。

最小支持度阈值和最小置信度阈值:由挖掘者或领域专家设定。

与关联分析相关的专业术语包含:

项集:项(商品)的集合

k-项集:k个项组成的项集

频繁项集:满足最小支持度的项集。频繁k-项集一般记为Lk

强关联规则:满足最小支持度阈值和最小置信度阈值的规则

接下来以两步法为例。揭秘下关联分析的做法:

例如以下有9个购物篮(T100-T900):两步法先找出全部的频繁项集;第二步再由频繁项集产生强关联规则。

R语言和数据分析十大:购物篮分析

算法步骤:

Step1:扫描D,对每一个候选项计数,生成候选1-项集C1。并算出每项的关联度计数(即该项出现的频数);
Step2:定义最小支持度阀值为2(即剔除频数低于2的项),记剩余的项集为L1。
Step3:由L1 两两配对生成新的2-项集C2。
Step4:扫描D。对C2里每一个项计数,定义最小支持度阀值为2(即剔除频数低于2的项),记剩余的项集为2-项集L2;
Step5:由L2 两两配对生成新的3-项集C3。
……如此循环,直至出现最大的n-项集结束。

以上述样例为例,图解步骤例如以下:

R语言和数据分析十大:购物篮分析

如图为例,我们计算频繁项集{I1,I2,I5}。能够发现I1^I2=>I5,因为{I1,I2,I5}出现了2次。{I1,I2}出现了4次,故置信度为2/4=50%

类似能够算出:

R语言和数据分析十大:购物篮分析

利用R进行购物篮分析,R中关联分析函数为arules,我们採用内置的Groceries的数据集(例如以下)。

Inspect(Groceries)

R语言和数据分析十大:购物篮分析

详细的R语言实现例如以下:

library(arules)
data(Groceries)
frequentsets=eclat(Groceries,parameter=list(support=0.05,maxlen=10))
inspect(sort(frequentsets,by="support")[1:10]) #依据支持度对求得的频繁项集排序

结果例如以下:可见全部的关联规则的排名:

R语言和数据分析十大:购物篮分析

接下来以阀值挑选我们的须要的关联项:

rules=apriori(Groceries,parameter=list(support=0.01,confidence=0.5))
inspect(rules)
R语言和数据分析十大:购物篮分析

由此可见购物篮就完毕,当中lift是相关度指标,lift=1表示L和R独立,lift越大表明L和R在同一购物篮绝非偶尔现象,更加支持我们的购物篮决策。

R语言和数据分析十大:购物篮分析

版权声明:本文博主原创文章,博客,未经同意不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/116962.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • split 方法_subsequence和substring的区别

    split 方法_subsequence和substring的区别1,split方法split()方法用于把一个字符串分割成字符串数组。例如:数据中现在有这样一个结果128b8f730592cc8db33ea52985127d44,44bee6555822d8321d2d1a2c1ac3b2cf,b2f939f26e512934e165f3e784cc74ca,我需要把这个字符串变成数组 console.log(res.result.produc…

  • tkMapper整合「建议收藏」

    tkMapper整合「建议收藏」目录一.简介二.tkMapper整合2.1基于SpringBoot完成MyBatis的整合2.2整合tkMapper三.tkMapper使用四.TkMapper提供的方法4.1添加4.2更新4.3删除4.4查询4.5连表查询一.简介tkMapper就是一个MyBatis插件,提高开发效率。提供了针对单表的数据库操作方法逆向工程(根据数据表生成实体类、dao接口、映射文件)二.tkMapper整合2.1基于SpringBoot完成MyBatis的整合1.新建SpringBoot项目

  • java定义byte类型,详解java中的byte类型[通俗易懂]

    java定义byte类型,详解java中的byte类型[通俗易懂]介绍byte,即字节,由8位的二进制组成。在Java中,byte类型的数据是8位带符号的二进制数。在计算机中,8位带符号二进制数的取值范围是[-128,127],所以在Java中,byte类型的取值范围也是[-128,127]。取值范围分析一直在想为什么不是-128到128呢?今天分析了一下这个问题。首先我们得明白一件事情,那就是运算规则:########################…

  • upx 手动脱壳[通俗易懂]

    upx 手动脱壳[通俗易懂]查壳UPX0.89.6-1.02/1.05-2.90(Delphi)stub->Markus&Laszloupx这类压缩壳手动脱壳非常简单。一、查找oep

  • 我是如何自学 Python 的

    我是如何自学 Python 的我是如何自学Python的

  • 可取回的国内csgo开箱网站incsgo开箱[通俗易懂]

    可取回的国内csgo开箱网站incsgo开箱[通俗易懂]可取回的国内csgo开箱网站incsgo开箱官方链接:www.incsgo.gg注册登录自动免费获得$1.00美金优惠码:csgogo(充值使用csgogo可增加5%充值金额)支付:微信支付宝状态:直接取回

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号