問題タブ [arules]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
3855 参照

r - arules/apriori を使用した rhs のフィルターが機能しない

バイナリ マトリックスで arules::apriori を使用しており、RHS に特定の 1 つの列を持つルールのみを作成したいと考えています。これはドキュメントで指定されていますが、機能していないようです。これを取得するために事後的にフィルタリングするのは簡単ですが、最初にすべてのルールを計算するために多くの計算時間を浪費します。

例:

rules には 3378 個のルールが含まれるようになりました

rules.sub には 172 のルールが含まれています

私の実際のデータでは、数百万の結果から最大 4000 の結果になりましたが、これは大きな違いです。

0 投票する
1 に答える
288 参照

r - アソシエーション ルールを見つけるための R と MapReduce

私は Hadoop を始めたばかりです。非常に大きなデータセットの関連付けルールを計算するために使用する必要があります。R Hadoop と MapReduce を使用してデータセットの関連付けルールを見つける方法がわかりません。私はトランザクションマトリックスを持っていますが、hadoop を使用してこのマトリックスでアプリオリアルゴリズムを実行するにはどうすればよいですか?? これは apriori (パッケージ arules) を実行するために使用されるコマンドです。

reduce 関数の map 関数で使用する必要がありますか?

0 投票する
2 に答える
2568 参照

r - R: NA を nsparseMatrix に強制できないことに関するアプリオリ エラー

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 の属性すらありません。

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

0 投票する
3 に答える
20849 参照

r - ルールの特定の列のみの LHS と RHS の両方のアイテムを取得する方法は?

apriori 関数内で、LHSHouseOwnerFlag=0とにこれら 2 つの変数のみが結果に含まれるようにしHouseOwnerFlag=1ます。RHS には、列の属性のみを含める必要がありますProduct。例えば:

答えの一部はこの質問で解決されます: R arules, mine only rules from specific column

だから今私は以下を使用します:
rules <- apriori(sales, parameter=list(support =0.01, confidence =0.8, minlen=2), appearance = list(lhs=c("HouseOwnerFlag=0", "HouseOwnerFlag=1")))

次に、他の SO の質問からこれを使用して、製品列のみが RHS にあることを確認します。
inspect( subset( rules, subset = rhs %pin% "Product=" ) )

結果は次のようになります。

したがって、LHS には、HouseOwnerFlag私が指定しただけでなく、考えられるすべての列を含めることができるようです。default="rhs"他のスタックオーバーフローの質問から、次のようにアプリオリ関数を入れることができることがわかりました。
rules <- apriori(sales, parameter=list(support =0.001, confidence =0.5, minlen=2), appearance = list(lhs=c("HouseOwnerFlag=0", "HouseOwnerFlag=1"), default="rhs"))

次に、検査すると(サブセット部分なしで、 だけinspect(rules)、以前よりもはるかに少ないルール(7)がありますが、実際HouseOwnerFlagには LHS にのみ含まれています。

ただし、RHS には、RHS の Product 列からは何もありません。もちろん、nullを返すので、それは役に立ちinspectません。subset製品が表示されるかどうかを実験するために、さまざまなサポート番号で何度かテストしましたが、7 つの同じルールは同じままです。

私の質問は、LHS (HouseOwnerFlag) と RHS (Product) の両方を指定するにはどうすればよいですか? 私は何を間違っていますか?

編集: https://www.dropbox.com/s/tax5xalac5xgxtf/testdf.txt?dl=0からこのテスト データセットをダウンロードすることで、この問題を再現できます。残念ながら、ここでの出力には、上に表示した例と同じ製品名はありません。しかし、問題は依然として同じままです。HouseOwnerFlag=0LHS のみおよび/またはRHSHouseOwnerFlag=1の列を取得できるようにしたいです。Product

0 投票する
1 に答える
791 参照

r - Rルールパッケージのスパースデータをロードする方法

次のようなテキスト データを含む CSV があります。

これをスパース トランザクション フォームにロードしたいのですが、これを行う最善の方法は何ですか? その上で arules パッケージを使用できるようにしたい

0 投票する
0 に答える
781 参照

r - (パッケージ規則) CSV ファイルを r にエクスポートしてトランザクションに転送するにはどうすればよいですか?

これをしたらうまくいきました

最初にこれを試しました

それから私はこれを試しました

どうすればいいのか本当にわからないので、助けてください。

私のデータは次のようになります

0 投票する
1 に答える
971 参照

r - SQL サーバーからデータをフェッチするときのルールとの関連付けルール

たぶん私は愚かですが、それでも参考になるコメントをいただければ幸いです。

ID、記事、および記事の属性 (つまり、グループ化) を含むデータセットがあります。を使用RODBCして、SQL Server データベースからテーブルをフェッチします ( を使用sqlFetch)。したがって、read.transactionsarules-package から使用する方法が見つかりませんでした。フォーマットは、各行が ID と記事 + グループの組み合わせになるように構成されています。テーブルには、約 1,100 万の一意の ID を持つ 2,200 万の行があります。記事ベースは約 500,000 記事です。説明のために、このようなサンプル データ フレームを作成しました

これに似たdata.frameになります

マーケット バスケット分析にルール パッケージを使用したいと考えています。ただし、data.frame をトランザクション オブジェクトに転送すると、txn <- as(dat, "transactions")すべての行が 1 つのバスケットとして識別されます。id 変数を識別子としてルールに指定する可能性はありますか? 基本的に、私は-transformationの関数"single"からオプションを探しています。関連する 2 番目の質問は次のとおりです。ルール パッケージで属性を使用できますか? 記事レベルだけでなく、グルーピングレベルでもアルゴリズムを使って分析する必要があると思いました。たとえば、商品 A1053 を購入すると、グループ A B3 を推奨するルールが見つかります。これは可能ですか?read.transactionsasapriori