R语言Apriori算法

  • 项目要求:
  • Project Start
  • **规则生成和可视化**

我们需要安装arules and arulesViz包。

项目要求:

生成频繁项目集满足下面条件:
– The minimum support threshold as 0.02
– The minimum length of the itemsets as 1
– The maximum length of the itemsets as 10

生成的关联规则满足下面条件:
– The minimum support threshold as 0.001
– The minimum confidence threshold as 0.6

Project Start

# 下载并加载相关的包(可能需要梯子)
install.packages('arules')
install.packages('arulesViz')
library('arules')
library('arulesViz')
# 读取并展示“Groceries”包
data(Groceries)
Groceries
summary(Groceries)
class(Groceries)


可以看到这个“Groceries”包一共有9835行和169列。

# 展示前20个grocery labels
Groceries@itemInfo[1:20,]# 显示第10至20的transactions
apply(Groceries@data[,10:20], 2, function(r) paste(Groceries@itemInfo[r,"labels"], collapse=", ")
)


接下来是生成频繁项目集
参数的设置按照要求

# frequent 1-itemsets
itemsets <- apriori(Groceries, parameter=list(minlen=1, maxlen=1, support=0.02, target="frequent itemsets"))
summary(itemsets)
inspect(head(sort(itemsets, by = "support"), 10))# frequent 2-itemsets
itemsets <- apriori(Groceries, parameter=list(minlen=2, maxlen=2, support=0.02, target="frequent itemsets"))
summary(itemsets)
inspect(head(sort(itemsets, by ="support"),10))# frequent 3-itemsets
itemsets <- apriori(Groceries, parameter=list(minlen=3, maxlen=3, support=0.02, target="frequent itemsets"))
inspect(sort(itemsets, by ="support"))# frequent 4-itemsets
itemsets <- apriori(Groceries, parameter=list(minlen=4, maxlen=4, support=0.02, target="frequent itemsets"))
inspect(sort(itemsets, by ="support"))

生成的频繁项目集结果如下:



规则生成和可视化

rules <- apriori(Groceries, parameter=list(support=0.001,confidence=0.6, target = "rules"))
summary(rules)
plot(rules)
plot(rules@quality)

# 显示rules与最高lift scores
inspect(head(sort(rules, by="lift"), 10))


筛选出置信度大于0.9的rules

confidentRules <- rules[quality(rules)$confidence > 0.9]
confidentRulesplot(confidentRules, method="matrix", measure=c("lift", "confidence"), control=list(recorder=TRUE))


一个127个,之后polt成为matrix得到

# 选择lift最高的5项规则
highLiftRules <- head(sort(rules, by="lift"), 5)
plot(highLiftRules, method="graph", control=list(type="items"))

得到图片如下所示。
从图中我们可以得到买火腿的基本上都会购买加工芝士,买爆米花或者soda饮料的很大概率会购买咸味小吃。

参考书目

  1. Data Science and Big Data Analytics: Discovering, Analyzing, Visualizing and Presenting Data, EMC Education Services, John Wiley & Sons, 27 Jan. 2015

数据科学与大数据分析项目练习-3将Apriori算法应用于R中提供的“Groceries”数据集相关推荐

  1. 《数据科学与大数据分析——数据的发现 分析 可视化与表示》一2.3 第2阶段:数据准备...

    本节书摘来自异步社区<数据科学与大数据分析--数据的发现 分析 可视化与表示>一书中的第2章,第2.3节,作者[美]EMC Education Services(EMC教育服务团队),更多 ...

  2. 数据科学与大数据分析之项目3-关联规则

    关联规则 项目介绍 项目开始 项目介绍 不同年级.性别和入学人数的学生参加了一项测试.为每个学生记录测试结果"成功"或"不成功",并保存在"A1_su ...

  3. 数据科学与大数据分析之项目4-主题建模

    Topic Modeling 项目介绍 项目开始 Reference 项目介绍 使用python在Reuters-21578语料库上进行LDA主题建模. The NLTK in Python come ...

  4. 数据科学与大数据分析之项目6-CNN模型图像分类

    用预先训练好的CNN模型进行图像分类 项目介绍 项目开始 项目介绍 本项目使用Caltech256来作为训练和测试集. 解压缩该文件,您将看到257个文件夹.每个文件夹对应一个类.使用预先训练的Inc ...

  5. 数据科学与大数据分析之项目5-情感分析

    情感分析Sentiment Analysis 项目介绍 项目开始 项目介绍 在Twitter上选择一个你感兴趣的话题,比如一部电影,一个名人,或者任何流行语.收集至少200条与此主题相关的tweet. ...

  6. 数据科学、大数据和数据分析之间的区别?

    随着技术的进步,数据也在快速增长.最近几年创造的数据比整个人类历史上创造的数据还要多. 你知道到2020年,每秒钟大约会产生1.7兆的新信息吗? 请记住,大数据并非一时兴起,而是一场已经开始的革命,毫 ...

  7. 数据科学 vs. 大数据 vs. 数据分析:定义,内涵,应用,所需技能

    什么是数据科学? 什么是大数据? 什么是数据分析? 数据科学的应用 大数据的应用 数据分析的应用 成为数据科学家所需的技能 成为大数据专家所需的技能 成为数据分析师所需的技能 薪资趋势 结论 数据无处 ...

  8. 数据科学与大数据排名思考题_排名前5位的数据科学课程

    数据科学与大数据排名思考题 目录 (Table of Contents) Introduction介绍 Udemy乌迪米 Machine Learning A-Z™: Hands-On Python ...

  9. 数据科学与大数据技术的案例_作为数据科学家解决问题的案例研究

    数据科学与大数据技术的案例 There are two myths about how data scientists solve problems: one is that the problem ...

最新文章

  1. thinkphp 3.2加载类
  2. 2021年7月份学习总结,多套WebFuture的系统部署(简易版)
  3. Tomcat、JBOSS、WebSphere、WebLogic、Apache之间的区别
  4. 公钥加密以及混合加密
  5. 使用Def文件导出dll
  6. 《C++ Primer》7.3.1节练习
  7. [Leedcode][JAVA][第33题][搜索旋转排序数组]
  8. python有关函数的面试题
  9. devops的重要性_为什么DevOps是当今最重要的技术战略
  10. 联想小新/YOGA新品发布会官宣:定档10月20日
  11. 小姐姐公开征婚高智商 IT 男:微信号竟要质数解密?
  12. 云起智慧中心连接华为_LifeSmart云起全系列产品接入华为HiLink生态系统
  13. ubuntu文件系统知识
  14. C# 获取汉语拼音全码及简码
  15. CSR1010A05-IQQM-R首款单模单芯片蓝牙低功耗
  16. 2019当今互联网赚钱的六大方式,赠送给迷茫的网赚新手
  17. 技术前言 - 芯片制造工序详解
  18. 拉着你的手 - 谢东 (zt)
  19. java校招笔试题目_Java校招笔试题
  20. NUC安装CentOS-8.2

热门文章

  1. spark 不在 sudoers 文件中。此事将被报告。
  2. 小身材也有强劲性能,树莓派2代B型图形界面搞机
  3. JS、JSP、JQuery区别
  4. 6号团队-团队任务5:项目总结会
  5. 《三国志》历代记(2)
  6. 手游逆向专题<英雄联盟手游>: Unity内还原亚索渲染效果
  7. storyboard搭建项目_Storyboard使用教程一
  8. 读书笔记-精准努力-励志本身就已经让你爽了以为自己真这样做了
  9. 在树莓派上面 玩 仙剑奇侠传
  10. 电脑中石英晶振的应用