2

arules パッケージの apriori アルゴリズムを試しています。

これが私が行ったことです: SQL Server から R にビューをロードしました。そのデータはトランザクション形式ではないため (アプリオリに使用するため)、変換する必要がありました。

data <- sapply(orders, as.factor)

次に、アプリオリ関数を入力しました。

apriori(データ、パラメーター = リスト (サポート = 0.005、信頼度 = 0.5))

次のエラーが表示されます。

t(as(from, "ngCMatrix")) のエラー: 関数 't' のメソッドを選択する際に引数 'x' を評価する際のエラー: asMethod(object) のエラー: 'NA' を "nsparseMatrix" に強制することはできません

クエリで確認しましたが、NULL/NA の属性すらありません。

エラーの意味がわかりません。誰かが問題の内容とこれを解決する方法を知っていますか?

4

2 に答える 2

2

最近、同じ種類のエラーに遭遇しました。私が学んだことは、アイテムセットまたはルールをマイニングするために、データをトランザクションに強制する必要があるということだけでした。このコードは役に立つはずです。

transaction_data<- as(data, "transactions")
rules <- apriori(transaction_data,parameter = list(minlen=2,supp=0.2,conf=0.5))
于 2015-01-22T03:30:09.167 に答える
2

Rグループ化関数を使用しようとすると、主な問題が発生します。ここでわかるように、ほとんどのグループ化関数は を返しませんdata.frame。あなたの場合、ベクトルsapplyを返すものを使用しました。適切な変換に注意してください。

data = data.frame(sapply(orders,as.factor))

そして、アソシエーション ルールの構築に従います。

apriori(data, parameter = list (support=0.005, confidence=0.5))

これは期待どおりに動作します (テスト済み)。

于 2015-10-25T13:26:21.663 に答える