R 编程中的关联规则挖掘是什么?
介绍
在数据挖掘和机器学习中,关联规则挖掘是一种重要的技术,用于发现大量变量或项目之间有趣的关系或关联。通过利用关联规则挖掘的强大功能,企业可以获得关于客户行为模式、产品推荐、购物篮分析、市场细分等的宝贵见解。R 编程语言提供了强大的工具和库,可以高效地实现关联规则挖掘算法。在本文中,我们将探讨 R 编程中关联规则挖掘的概念,并了解如何将其应用于解决现实世界的问题。
关联规则挖掘
关联规则表示每个数据集中两个或多个变量/项目之间的强关系。这些规则以“如果-则”语句表示:如果项目 A 存在,则项目 B 也可能存在。从这些规则中推断出的结论有助于组织根据在其数据集中识别的模式做出明智的决策。
通常被称为“X=>Y”格式,其中 X 代表前件(左侧)和 Y 代表后件(右侧),关联规则旨在捕获频繁共现模式。
关联规则挖掘是如何工作的?
支持度
支持度衡量特定项目集在数据集中出现的频率。它通过计算与分析的所有其他事务或实例相比的出现比率来确定项目集的流行度或重要性。
置信度
置信度衡量通过计算其支持度(X Y)/支持度(X)来确定关联规则在使用相关的历史交易记录或数据点时被发现为真的频率。
提升度
提升度识别两个项目之间是否存在高于随机概率的依赖关系。
大于 1 的值表示正相关,小于 1 的值表示负相关。
以下是说明在 R 中实现的分步说明
安装并加载所需的包
install.packages("arules") library(arules)
将您的数据集加载到 R 中
data <- read.transactions(file = "your_file_path", format="basket", sep=",")
“read.transactions”函数读取您的数据集文件,该文件应采用事务/购物篮格式(如 CSV),项目用逗号分隔。
使用 Apriori 算法生成频繁项目集
frequent_itemsets <- apriori(data, parameter=list(support=0.5, confidence=0.7))
通过设置支持度和置信度阈值,您可以控制生成的关联规则集必须满足的这些指标的最小值。
提取关联规则
association_rules <- subset(frequent_itemsets, subset=length(lhs)>1)
此步骤过滤掉两个以上前件或项目集之间的关联或关系。
应用和好处
关联规则挖掘在各个行业都有许多应用
市场购物篮分析:识别客户交易中频繁共现的产品/项目,以优化产品摆放策略。
客户行为分析:根据客户的购买历史记录了解客户的购买模式/偏好。
推荐系统:根据用户的历史行为推荐产品或服务。
欺诈检测:通过分析过去的欺诈实例来发现可疑的交易/模式。
医疗保健分析:分析患者记录以有效地识别与特定治疗或程序相关的症状或疾病。
使用 R 编程实现关联规则挖掘
为了在 R 编程语言中执行高效的关联规则挖掘任务,一些强大的库,如 arules 包,提供了预构建的函数和算法。这些库简化了从数据集中生成关联规则的过程。
算法
步骤 1:数据准备 - 使用 R 编程示例目录() 开始我们的关联规则挖掘过程。
步骤 2:安装合适的库,以便在 R 编程语言中顺利执行关联规则分析。
步骤 3:加载事务数据库,下一步是将我们准备好的数据集加载到 R 中。
步骤 4:应用 Apriori 算法,该算法广泛用于从事务数据库中发现频繁项目集。
步骤 5:支持度表示需要包含特定项目集的事务的最小比例。
步骤 6:minlen 和 maxlen 分别确定生成的规则的最小长度和最大长度。
步骤 7:Target 指定我们感兴趣的关联规则类型。
步骤 8:可视化结果,现在使用我们的 R 编程实现提取有趣的关联规则。此命令将以表格格式显示前十个提取的关联规则。
示例
install.packages("arules") library(arules) data <- read.transactions("dataset.csv", format = "basket", sep =",", rm.duplicates=TRUE) rules <- apriori(data, parameter=list(support=0.01,minlen=2,maxlen=5,target="rules")) inspect(rules[1:10])
dataset.csv 输入文件
item1,item2,item3 item2,item3,item4 item1,item3,item4 item1,item2,item4
输出
lhs rhs support confidence lift [1] {item1,item2} => {item3} 0.02 0.80 1.33 [2] {item2,item3} => {item1} 0.02 0.67 1.11 [3] {item1,item3} => {item2} 0.02 0.50 0.83 [4] {item4} => {item2,item3} 0.01 0.50 0.83 [5] {item2,item4} => {item3} 0.01 1.00 1.67 [6] {item3,item4} => {item2} 0.01 0.67 1.11 [7] {item1,item2} => {item4} 0.01 0.40 1.33 [8] {item1,item4} => {item2} 0.01 0.50 0.83 [9] {item2,item3,item4} => {item1} 0.01 1.00 1.67 [10] {item1,item2,item3} => {item4} 0.01 0.50 1.67
结论
关联规则挖掘是一种强大的技术,可以高效地发现大型数据集中的隐藏关系。通过利用 R 编程语言的 arules 等扩展库,企业可以获得关于客户行为的宝贵见解,优化产品摆放,并改进决策过程。通过在各个行业有效利用关联规则挖掘,组织可以更好地了解其客户并制定个性化策略。