2016-08-26 1 views
2

私は以下のデータフレームを持っています - CTVU。RCSのデータフレームにarri apriori出力をどのようにするのですか

MMGID_5 EMAIL 
2341  [email protected] 
50   [email protected] 
311  [email protected] 
2341  [email protected] 
2387  [email protected] 
57   [email protected] 
2329  [email protected] 
2026  [email protected] 
650  [email protected] 
2369  [email protected] 

は、私は戻って、最初の列で最も高い信頼と第二に自信を持つアイテムが含まれている2つの新しい列を持つデータフレームの中に、以下の作成したルールを有効にします。

library(arules) 
library(arulesViz) 

CTVU <- read.csv("CTVU.csv", header = TRUE) 
CTVU <- unique(CTVU[ , c(2,5) ]) 
CTVU <- as(split(CTVU[,"MMG5_ID"], CTVU[,"EMAIL"]), "transactions") 
itemFrequencyPlot(CTVU,topN=20,type="absolute") 
rules <- apriori(CTVU, parameter = list(supp = 0.001, conf = 0.1)) 
options(digits=2) 
inspect(rules[1:5]) 
rules<-sort(rules, by="confidence", decreasing=TRUE) 
rules <- apriori(CTVU, parameter = list(supp = 0.001, conf = 0.8,maxlen=3)) 

rules<-apriori(data=CTVU, parameter=list(supp=0.001,conf = 0.01,minlen=2), 
appearance = list(default="rhs",lhs="289"), 
control = list(verbose=F)) 
rules<-sort(rules, decreasing=TRUE,by="confidence") 
inspect(rules[1:5]) 

だから、最後に、私はこのようになりますデータフレームがあります。

EMAIL  MMG5_rule Confidence 
[email protected] 50   0.5 
[email protected] 2341  0.2 
[email protected] 2026  0.6 

を私はいくつかの研究をしましたが、解決策を見つけることができませんでした。 誰かがこれを行う方法を理解する手助けができますか?

+0

@rcs - ありがとう。これはルールを 'data.frame'として作成します。たとえば、顧客が次に購入する可能性の高いものを予測するために、data.frameにルールを適用する方法はありますか? – Davis

+0

パッケージrecommenderlabを見たいかもしれません。これには関連規則ベースの推奨があります(パッケージarulesを使用します)。 –

+0

@MichaelHahslerありがとう、私はrecommenderlabを見ていきます。現時点で私がやっていることより簡単な解決策かもしれません。 – Davis

答えて

1

arulesの出力をdata.frameにする必要はありません。あなたが買った項目のリストで新しい顧客を持っている場合は、arules::subsetに関連する相関ルールを見つけることができます:subsetヘルプでその上

newCustomer <- c("toothbrush", "chocolate", "gummibears") 
arules::subset(aprioriResults, subset = lhs %in% newCustomer) 

さらに詳しい情報:

サブセットが行上で動作/ itemsets/xの規則サブセットで与えられた式はxを使って評価されるので、項目(lhs/rhs/items)とquality data.frameの列はその名前で直接参照できます。

ラベルで指定された項目を含む項目セットを選択する重要な演算子は、%in%(任意の項目に一致する項目セットを選択)、%ain%(指定したすべての項目に一致する項目セットのみを選択)マッチング)。

しかし、顧客がを購入する可能性があるか疑問がある - 私の見解で - シーケンス・マイニングを使用して回答する質問のより。幸いなことに、arulesSequencesはこれを行うパッケージであり、同じ作者であるため、余分な作業はほとんど必要ありません。

関連する問題