以下のリンクには、基本的なアプリオリ実装のソース コードが含まれています。
https://github.com/ak94/Apriori/
readme ファイルに目を通します。
基本的な実装とは、ハッシュベースの手法、パーティショニング手法、サンプリング、トランザクション削減、動的アイテムセットカウントなどの効率的なアルゴリズムを実装していないということです。
コードは毎回データセット全体をスキャンしますが、メモリに保存するのではなく常にファイルから入力を読み取るため、メモリ効率が高くなります。
あなたは現在このコースを受講しているので、このコードはあなたが自分で書きたいと思う最初のコードになると思います。
アプリオリ アルゴリズムの詳細については、 http: //www3.cs.stonybrook.edu/~cse634/lecture_notes/07apriori.pdf をお読みになることをお勧めします。
を読んで理解し、自分で実装してみてください。
さて、実装方法について話しましょう。私が投稿したリンクからコードを実行すると、数値に実装されます。つまり、入力ファイルには、テキストではなく数値としてアイテムセットが含まれます(あなたの場合のように)
簡単にできることは、各テキストを特定の番号にマップするプログラムを作成することです。
例えば
データセットに含まれているとします
[ 'oatmeal', 'onions', 'pizza', 'tomatoes', 'yogurt']
[ 'tomatoes', 'pepper', 'waterBottles', 'yogurt']
だからそれは次のようになります
1 2 3 4 5 -1
4 6 7 5 -1
(コードのように、特定のトランザクションの終了を表す -1 )
次に、この入力ファイルをコードに使用します(リンクと同じか、別の言語で独自のものを使用します)
program の実行後に頻出項目セットを取得したら、以前に使用した map を使用してそれを元に戻すことができます。