r语言 - Apriori Algo 显示"FALSE"而不是"TRUE"



这是我的代码:

#install and load libraries
library(arules)
library(arulesViz)
library(tidyverse)
library(readxl)
library(knitr)
library(ggplot2)
library(lubridate)
library(plyr)
library(dplyr)
#read .csv file
market <- read.csv(file.choose(),header=T, colClasses = "factor")
market <- market[complete.cases(market), ]
str(market)
rules <- apriori(market, parameter = list(supp=0.1, conf=0.8))
inspect(rules[1:10])

下面是一个结果示例:

lhs                      rhs                 support confidence  coverage     lift count
[1]  {Butter=FALSE,                                                                          
Sugar=FALSE,                                                                           
Yogurt=FALSE,                                                                          
chocolate=FALSE}     => {Onion=FALSE}     0.1291291  0.8012422 0.1611612 1.343022   129
[2]  {Butter=FALSE,                                                                          
Kidney.Beans=FALSE,                                                                    
Yogurt=FALSE,                                                                          
chocolate=FALSE}     => {Milk=FALSE}      0.1361361  0.8047337 0.1691692 1.353416   136

因此,正如您所看到的,结果显示为"FALSE"。问题是,我如何才能让它成为现实?

变量根据数据类型转换为项。以下是交易手册页面中的一些详细信息(请参阅? transactions(:

  • 因子:具有标称值(即因子、有序(的列被转换为一系列二进制项(每个级别一个,构造为⁠变量名称=级别⁠).

  • 逻辑变量:描述一个人可能很高的逻辑变量,使用TRUE和FALSE值表示该人是否很高。该人高的事实将被编码在包含高项目的交易中,而不高的人将没有该项目。因此,对于逻辑变量,TRUE值将转换为具有变量名称的项,而对于FALSE值,则不会创建任何项。

由于您将数据读取为级别为TRUE和FALSE的因子,因此您也会获得级别为FALSE的项。您可以将它们作为logical读取,或者在调用apriori之前使用as.logical()转换数据帧中的相应列。请看? transactions中的示例。这将有助于您更好地理解这种转换。

相关内容

  • 没有找到相关文章

最新更新