R Программирование . автоматическая корреляция в алгоритме априори

Я работаю над проблемой ассоциации, используя алгоритм априори . Хотя я получаю выход, но есть самоотношение или, так сказать, проблема автокорреляции. Кармодели должны показывать отношения с другими кармоделями, но это показывает отношения с теми же кармоделями . Входные столбцы имеют повтор . Я только что поместил часть входных данных из большого набора данных .
Есть ли в любом случае, чтобы удалить проблему автокорреляции из выходных данных .

Исходный код приведен ниже:-

     mydata <- read.table(header=TRUE, text="
                         cookieid                              pageinfo
                       l8nqwetygUoySgkFHTG                  datsuncarsgtyoplus 
                        Deniju1uufQfOLQSZszdOdLok           marutisuzukicarwiftdzire 
                       l8nofddggreerweUoySgkFHTG            hondacarsmobiliom
                       qrtyftg1z7UoySgkFHTG                 fordcarsfigosd 
                      ")


 carmodels<-data.frame(mydata)
 head(carmodels)

 #Exporting the new copy of webVisitors(copywebVisitors) into excel file named as "done.csv"
 write.csv(carmodels, "C:UsersDesktopdone.csv")
 df_cars <- read.csv("done.csv")

 library(plyr)
df_itemcars <- ddply(df_cars,c("cookieid"), function(df1){paste(df1$pageinfo,collapse = ",")})

 View(df_itemcars)
 df_itemcars$cookieid <- NULL
 colnames(df_itemcars) <- c("carmodels")
 head(df_itemcars)
  write.csv(df_itemcars,"Itemcars.csv", row.names = TRUE)

 library(Matrix)
 library(arules)
 txn = read.transactions(file="Itemcars.csv", rm.duplicates= TRUE, format="basket",sep=",",cols=NULL)

 df_basket0 <- as(txn,"data.frame")
 View(df_basket0)
 basket_rules <- apriori(txn,parameter = list(sup = 0.01, conf = 0.5,target="rules"))

 inspect(basket_rules)
 df_basket <- as(basket_rules,"data.frame")
 View(df_basket)

И в выходных данных я получаю проблему автокорреляции i.e его показывающая связь только с самим собой . Нужна помощь . Какие изменения могут быть внесены для удаления этой автокорреляции? Выход выглядит как:-
Введите описание изображения здесь

1 ответ

  1. Можно только догадываться по скриншоту, что вы должны удалить конечные котировки и пробелы из элементов:

    library(arules)
    a_list <- list(
      c('volkswagenvento "','" volkswagenvento'),
      c('hondacarscity "','volkswagenvento'))
    names(a_list) <- paste("Tr",c(1:2), sep = "")
    trans1 <- as(a_list, "transactions")
    rules <- apriori(trans1)
    inspect(rules)
    # lhs                    rhs                 support confidence lift
    # [1] {" volkswagenvento} => {volkswagenvento "} 0.5     1          2   
    # [2] {volkswagenvento "} => {" volkswagenvento} 0.5     1          2   
    # [3] {hondacarscity "}   => {volkswagenvento}   0.5     1          2   
    # [4] {volkswagenvento}   => {hondacarscity "}   0.5     1          2 
    

    Теперь мы заменяем кавычки и пробелы в начале и в конце:

    b_list <- lapply(a_list, gsub, pattern='^"\s*|\s*"$', replace="") 
    trans2 <- as(b_list, "transactions") 
    rules2 <- apriori(trans2) inspect(rules2)
    # lhs                rhs               support confidence lift
    # [1] {}              => {volkswagenvento} 1.0     1          1   
    # [2] {hondacarscity} => {volkswagenvento} 0.5     1          1