2016-12-29 3 views
0

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

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

 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:\\Users\\Desktop\\done.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) 

И на выходе я получаю проблему автокорреляции ее показывая то есть отношения с самим собой только. Нужна помощь . Любые изменения, которые могут быть сделаны для устранения этой автокорреляции? Вывод выглядит следующим образом: - enter image description here

+0

Добро пожаловать в SO. Для будущих вопросов, пожалуйста, предоставьте примеры, воспроизводимые с помощью _minimal_, чтобы проиллюстрировать вашу проблему. Кажется, в вас код балласта. Кроме того, я не вижу, как вывод связан с вашим снимком экрана. – lukeA

ответ

0

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

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 
Смежные вопросы