Re: [問題] arules package

作者: sulaxd (SulaXD)   2016-03-08 13:51:21
以下給你參考:
# 載入套件
library(magrittr)
library(plyr)
library(arules)
# 讀入資料,因資料來源編碼為big5,加入參數fileEncoding
dd <- read.csv("~/Downloads/dd.csv",stringsAsFactors = F, fileEncoding = "big5
")
# (optional)將資料轉為list,並把每筆交易中的空值及重複項目移除
dd <- dlply(dd, "X", function(u){
unlist(u[-1]) %>% .[.!=""] %>% unique
})
# 將資料轉為transactions物件並進行apriori算法
trans <- as(dd, "transactions")
rules <- apriori(trans, parameter = list(support=0.001, confidence=0.001,minle
n=2))
inspect(rules)
※ 引述《clansoda (小笨)》之銘言:
: 各位好,首先我先附上資料https://goo.gl/4ds2H4
: 這個資料是購買資料的貨號,我想用它來做association analysis
: 如果我先將資料直接用rules<-apriori(dd,parameter=list(supp=0.01,conf=0.8))
: 接著inspect(rules),可是我這樣只能得到很少的rules而且都是item1->item5
: 類似這樣的空集合,也就是裡面沒有商品當然也就沒辦法分析,想請問如何消除這樣的
: rules,接著用另外種方式是直接從外面讀進來而且變成transaction的模式
: read.transaction(dd,sep=","),這樣確實會transaction被讀進來但是這樣做完aprio
ri
: 後不會是正常的格式像item1{kites}->item3{ball}類似這樣的模式
: 反而會是{ball,kites,lollipop}這樣的格式,所以我不知道哪裡出了錯
: 請問有人做過完整的關聯性分析嗎?
: 會用貨號的原因是,商品是很長而且有中文的格式反而會更難分析
作者: clansoda (小笨)   2016-03-08 14:32:00
請問您知道transaction的轉換到底應該是什麼格式嗎?我用了好幾種型態的格式都會出現下面這串字no method or default for coercing “list” totransaction
作者: sulaxd (SulaXD)   2016-03-08 15:48:00
請查詢說明文件 ?transactions 範例很清楚
作者: clansoda (小笨)   2016-03-09 10:27:00
感謝你,我在中間的語法上有些問題可以私下請教您嗎?
作者: sulaxd (SulaXD)   2016-03-09 10:41:00
可以

Links booklink

Contact Us: admin [ a t ] ucptt.com