2016-07-26 7 views
0

私はこのようなデータを持っていますdata redundant。だから、私は一意のコードで、冗長な項目を削除したい、その後私はthisのようなこのデータを持っている。それから私は小包でルールを取得しようとします。私はそれを実行してみたときにArriulesはAprioriアルゴリズムのルールを0にしますが、なぜですか?

library(arules) 
library(qpcR) 
data<- read.csv("Book1.csv", header=TRUE) 
b<-sapply(1:ncol(data), function(x) unique(data[,x])) 
b<-lapply(b,as.data.frame) 
a<-list() 
databaru<-do.call(qpcR:::cbind.na, lapply(b, as.vector)) 
databaru[]<-lapply(databaru,as.factor) 
colnames(databaru)<-colnames(data) 
rules<-apriori(databaru, parameter=list(supp=0.0016, conf=0.1)) 
inspect(rules) 

はその後、私は0のルールを持って、私は彼に冗長項目に各列を削除する前に、私は、コードを実行し、ためのコードを削除しようとしたとき、私は、多くのルールを得たが、確信しています冗長なアイテムを削除すると、私も0のルールを得ました..(冗長:私はユニークなコードを使用します) それから私はサポートと信頼を下げてください。

Apriori 

Parameter specification: 
confidence minval smax arem aval originalSupport support minlen maxlen target ext 
     0.1 0.1 1 none FALSE   TRUE 0.0016  1  10 rules FALSE 

Algorithmic control: 
filter tree heap memopt load sort verbose 
0.1 TRUE TRUE FALSE TRUE 2 TRUE 

Absolute minimum support count: 4 

set item appearances ...[0 item(s)] done [0.00s]. 
set transactions ...[34440 item(s), 2561 transaction(s)] done [0.02s]. 
sorting and recoding items ... [0 item(s)] done [0.00s]. 
creating transaction tree ... done [0.00s]. 
checking subsets of size 1 done [0.00s]. 
writing ... [0 rule(s)] done [0.00s]. 
creating S4 object ... done [0.00s]. 

どうすればよいですか?どうしましたか?何が起こるの?

+0

少なくとも、あなたの 'as.factor'は有罪な段階です(もしそうでなければ)。各列について、コードは異なる値でエンコードされます。私は、コールの正確な可能性のあるレベルか、より簡単な - 生の値を保持します。 –

+0

私はそれを要因に変更していない場合、実行中のarulesを実行することはできません。では、私はどうしたらいいですか?なぜなら、それを削除すると、離散化する必要があるため、エラーが発生するからです。 どのように?私のデータは整数なので、しかし、それらはcotinous変数ではない、彼らはIDです。 – ILoveThisName

+0

例えば、 'levels < - unique(unlist(databaru))'のような一意の値をすべて取得し、因子を生成するときにこのベクトルを使用することができます: 'lapply(databaru、as.factor、levels = levels)'テストするデータを提供していないのでテスト済み) –

答えて

0

アソシエーションルールマイニングでは、数値(連続)変数ではなく(バイナリ)項目が必要です。データ内の各数値変数を離散化する必要があります。パッケージarules? discretizeを参照してください。

関連する問題