You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apriori算法输出显示FALSE而非TRUE,如何设置使其显示TRUE?

Apriori规则显示FALSE而非TRUE的解决办法

你的问题出在数据格式处理上:当你将所有列设为factor类型后,arules会把每个因子的所有水平(包括FALSE)都作为关联规则的候选项,但实际我们只关心代表“存在/购买”的TRUE项。以下是两种直接的解决方式:

方法一:转换为交易型数据(推荐)

直接将数据转换为arules标准的交易格式,只保留每行中值为TRUE的列名,自动剔除FALSE项:

# 把原数据转换为交易对象,仅保留值为TRUE的项
market_trans <- as(market == TRUE, "transactions")

# 基于交易对象运行Apriori
rules <- apriori(market_trans, parameter = list(supp=0.1, conf=0.8))
inspect(rules[1:10])

方法二:通过参数过滤FALSE项

在apriori函数中使用appearance参数,指定只考虑值为TRUE的项:

# 生成所有"列名=TRUE"格式的项名
true_items <- paste(colnames(market), "=TRUE", sep="")

# 运行Apriori时限定仅使用这些TRUE项
rules <- apriori(market, 
                 parameter = list(supp=0.1, conf=0.8),
                 appearance = list(items = true_items))
inspect(rules[1:10])

两种方法都能让规则结果只显示TRUE相关的关联项,其中方法一更符合关联规则分析的常规数据结构,后续可视化或进一步分析也更方便。

内容的提问来源于stack exchange,提问作者Note2102

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 04:15:35