【R语言】关联规则

#数据集
install.packages("arules")
library(arules)
data(Groceries)
summary(Groceries)
inspect(Groceries[1:5])

在这里插入图片描述
在这里插入图片描述

itemFrequency(Groceries[,1:3])
# frankfurter     sausage  liver loaf 
# 0.058973055 0.093950178 0.005083884 
itemFrequencyPlot(Groceries,support=0.1)
itemFrequencyPlot(Groceries,topN=20)

在这里插入图片描述
在这里插入图片描述

训练模型

#构建模型
freq.itemsets <- eclat(Groceries,parameter = list(supp=0.075,maxlen=15))
inspect(freq.itemsets)
#      items              support    count
# [1]  {whole milk}       0.25551601 2513 
# [2]  {other vegetables} 0.19349263 1903 
# [3]  {rolls/buns}       0.18393493 1809 
# [4]  {yogurt}           0.13950178 1372 
# [5]  {soda}             0.17437722 1715 
# [6]  {root vegetables}  0.10899847 1072 
# [7]  {tropical fruit}   0.10493137 1032 
# [8]  {bottled water}    0.11052364 1087 
# [9]  {sausage}          0.09395018  924 
# [10] {shopping bags}    0.09852567  969 
# [11] {citrus fruit}     0.08276563  814 
# [12] {pastry}           0.08896797  875 
# [13] {pip fruit}        0.07564820  744 
# [14] {newspapers}       0.07981698  785 
# [15] {bottled beer}     0.08052872  792 
# [16] {canned beer}      0.07768175  764 

#创建规则
groceryrules <- apriori(Groceries, parameter = list(support =0.006, confidence = 0.25, minlen = 2))
groceryrules                        
#set of 463 rules                        

模型的评估

#模型的评估
summary(groceryrules)
inspect(groceryrules[1:3])

在这里插入图片描述
在这里插入图片描述

提升关联规则的效果

#检查关联规则集的有效方法是查看具有更高提升度的规则,因为较大的提升度表示先前隐藏在项之间的强连接。
inspect(sort(groceryrules,by="lift")[1:5])

在这里插入图片描述

#检查数据规则的另一种有效方法是查看包含某特定规则子集。
#假如要发现包含berries的集合,实现方式是使用subset筛选出items包含berries的项目。
#如果要求一个人在特定季节制作促销berries的广告,这样的操作将非常有用。
berryrules <- subset(groceryrules,items %in% "berries")
inspect(berryrules)

在这里插入图片描述

关联规则的可视化

#关联规则的可视化
install.packages("arulesViz")
library(arulesViz)
library(grid)
plot(berryrules,method = "graph")
#圆圈颜色越深,表示提升度越高;圆圈越大,表示这条规则出现的次数越多。

在这里插入图片描述

#treemap图
install.packages("tidyverse")
install.packages("treemap")
library(tidyverse)
library(treemap)
occur1 <- Groceries@itemInfo %>% group_by(level1) %>%summarize(n=n())
occur2 <- Groceries@itemInfo %>% group_by(level1,level2) %>%summarize(n=n())
occur3 <- Groceries@itemInfo %>% group_by(level1,level2,labels) %>%summarize(n=n())
treemap(occur1,index = c("level1"),vSize = "n")
treemap(occur2,index = c("level1","level2"),vSize = "n")
treemap(occur3,index = c("level1","level2","labels"),vSize = "n")

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
R语言中进行关联规则预处理的过程可以分为以下几个步骤: 1. 数据收集和导入:首先要收集或导入包含关联规则分析所需数据的数据集。可以使用read.csv()函数或其他相关函数来导入数据。 2. 数据清洗和预处理:对于关联规则分析,数据应该是离散的或二进制的。因此,需要对数据进行清洗和预处理,确保数据的格式正确,并进行必要的转换。 3. 数据转换:根据数据的要求和目标,可能需要对数据进行转换。例如,将数据转换为事务形式,其中每一行代表一个事务,并且每个项目用布尔值表示。 4. 频繁项集的挖掘:使用Apriori算法或其他相关算法,根据设定的最小支持度阈值,挖掘出频繁项集。频繁项集是经常一起出现的项的集合。 5. 生成关联规则:根据频繁项集,使用置信度或其他相关度量来生成关联规则关联规则由前提和结论组成,前提是规则的先决条件,而结论则是根据前提可以推导出的结果。 6. 关联规则评估和筛选:对生成的关联规则进行评估,可以使用支持度、置信度、提升度等指标来衡量规则的质量。根据设定的规则质量阈值,筛选出符合要求的强关联规则。 总结起来,R语言中进行关联规则预处理的步骤包括数据收集和导入、数据清洗和预处理、数据转换、频繁项集的挖掘、生成关联规则以及关联规则评估和筛选。这些步骤可以帮助我们预处理数据并得到具有较高质量的关联规则。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [r语言实现关联分析--关联规则挖掘(Apriori算法) (r语言预测学习笔记)](https://blog.csdn.net/weixin_45178611/article/details/107881690)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [R语言--数据挖掘3---关联规则分析](https://blog.csdn.net/qq_35167821/article/details/115741231)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值