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语言和数据分析十大:购物篮分析

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

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

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

(0)
上一篇 2022年1月12日 下午6:00
下一篇 2022年1月12日 下午7:00


相关推荐

  • 整合Flume和Kafka完成实时数据采集

    整合Flume和Kafka完成实时数据采集需要注意:参考的网站要与你的kafka的版本一致,因为里面的字段会不一致例如:http://flume.apache.org/releases/content/1.6.0/FlumeUserGuide.html#kafka-sink这是1.6版本的,如果需要查看1.9版本的直接就将1.6.0改为1.9.0即可#avro-memory-kafka.confavro-memory-kafka.sources=avro-sourceavro-memory-kafka.sinks=kafka-.

    2022年6月23日
    36
  • 从零开始:使用vLLM私有化部署满血版DeepSeek-R1实战指南

    从零开始:使用vLLM私有化部署满血版DeepSeek-R1实战指南

    2026年3月16日
    2
  • mysql 主键分区

    mysql 主键分区mysql 主键分区通常对于数据比较多的表 可以采用字段分区 一般是 id 首先需要把 id 指定为 bigint 20 类型 然后进行 id 分区 ALTERTABLE sh ad hit PARTITIONBYR id PARTITIONS21 PARTITION p0 VALUESLESSTH PARTITION p1 VALUESL

    2026年3月17日
    2
  • JQuery 学习—$.each遍历学习

    生活在这样一个充满欢乐的世界中,我们要有欢乐的精神对待工作和生活! 我们每天晚上睡觉早上起来,每天会重复着做很多的事情,我们的生活在程序的角度看其实就是一个循环,这个循环说简单它就简单,说复杂它就很复杂。今天我要用欢乐的方式来介绍的是JQuery的中的一种技术,JQuery 的$.each遍历操作,不管是搞前端还是搞后端javaWeb方向的程序员(猿),一定会和它偶遇,在每一个转角。

    2022年2月25日
    36
  • QWidget 属性

    QWidget 属性1 enabled 启用或禁用 widget 默认启用 2 geometrywidg 的位置和尺寸 3 sizePolicy 设置 widget 在水平和垂直方向的伸缩策略以及伸缩因子 所谓伸缩策略实际就是 widget 对待 sizeHint 的策略 值属性意思 Fixed 认为 sizeHint 值为最佳 widget 尺寸不

    2026年3月17日
    2
  • 2014年度总结

    2014年度总结2015都过了近1个月了,早该好好总结一下了。   2014年,对我来说,意味着忙乱、匆促、迷惑、徘徊,还有最准确的表达:抉择!   还是老规矩,分别从生活、工作、学习三个维度来回顾。  【生活篇】   (1)陪伴妻儿     看着儿子一天天长大,仿佛每一天都有新的变化:从可以走路,到能说完整的句子,每一个关键事件,都让我和老婆欣喜不已!当

    2022年7月12日
    20

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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