2016-12-29 6 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

ようこそ。将来の質問については、問題を説明するための_再現可能な例を_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 
関連する問題