Aprioriアルゴリズム:どのように機能しますか? ブランドはAprioriアルゴリズムをどのように利用できますか?
公開: 2020-03-26あなたがスーパーマーケットにいると想像してください、そしてあなたの心の中で、あなたはあなたが買いたいと思ったアイテムを持っています。 しかし、あなたはあなたが思っていたよりもたくさん買うことになります。 これは衝動買いと呼ばれ、ブランドはこの現象を活用するためにアプリオリアルゴリズムを使用します。 データサイエンスアルゴリズムの詳細に興味がある場合は、クリックして詳細をご覧ください。
このアルゴリズムは何ですか? そしてそれはどのように機能しますか? これらの質問に対する答えは、この記事にあります。 最初にこのアルゴリズムが何であるかを見てから、それがどのように機能するかを見ていきます。
さぁ、始めよう。
目次
アプリオリアルゴリズムとは何ですか?
aprioriアルゴリズムは、頻繁なアイテムセットを提供します。 その基礎は、次のように説明できるアプリオリプロパティです。
持っているアイテムセットのサポート値が必要なサポート値よりも小さいとします。 その場合、このアイテムセットのサブセットのサポート値も必要以上に少なくなります。 したがって、それらを計算に含めないため、多くのスペースを節約できます。
サポート値は、特定のアイテムセットがトランザクションに表示される回数を指します。 aprioriアルゴリズムは、レコメンデーションシステムに適用されるため非常に人気があります。 通常、このアルゴリズムはトランザクションデータベース、つまりトランザクションのデータベースに適用します。 このアルゴリズムの実際のアプリケーションも多数あります。 また、アプリオリアルゴリズムを正しく理解するには、アソシエーションルールマイニングに精通している必要があります。
また読む:データサイエンスの前提条件。 時間の経過とともにどのように変化しますか?
Aprioriアルゴリズムはどのように機能しますか?
aprioriアルゴリズムは、頻繁なアイテムセットを使用して相関ルールを生成します。 その原理は単純です–頻繁なアイテムセットのサブセットも頻繁なアイテムセットになります。 サポート値がしきい値より大きいアイテムセットは、頻繁なアイテムセットです。 次のデータを検討してください。
TID | アイテム |
T1 | 1 3 4 |
T2 | 2 3 5 |
T3 | 1 2 3 5 |
T4 | 2 5 |
T5 | 1 3 5 |
最初の反復では、サポート値が2であると想定し、サイズ1のアイテムセットを作成します。次に、それに応じてサポート値を計算します。 サポート値が最小値よりも低いアイテムは破棄されます。 この例では、それはアイテム番号4になります。
C1(最初の反復の結果)
アイテムセット | サポート |
{1} | 3 |
{2} | 3 |
{3} | 4 |
{4} | 1 |
{5} | 4 |
F1({4}を破棄した後)
アイテムセット | サポート |
{1} | 3 |
{2} | 3 |
{3} | 4 |
{5} | 4 |
2番目の反復では、アイテムセットのサイズを2に保ち、サポート値を計算します。 この反復では、テーブルF1のすべての組み合わせを使用します。 サポート値が2未満のアイテムセットはすべて削除します。
C2(F1に存在するアイテムのみ)
アイテムセット | サポート |
{1,2} | 1 |
{1,3} | 3 |
{1,5} | 2 |
{2,3} | 2 |
{2,5} | 3 |
{3,5} | 3 |
F2(サポート値が2未満のアイテムを削除した後)
アイテムセット | サポート |
{1,3} | 3 |
{1,5} | 2 |
{2,3} | 2 |
{2,5} | 3 |
{3,5} | 3 |

次に、剪定を実行します。 この場合、C3のアイテムセットをサブセットに分割し、サポート値が2未満のアイテムセットを削除します。
C3(剪定を行った後)
アイテムセット | F2では? |
{1,2,3}、{1,2}、{1,3}、{2,3} | いいえ |
{1,2,5}、{1,2}、{1,5}、{2,5} | いいえ |
{1,3,5}、{1,5}、{1,3}、{3,5} | はい |
{2,3,5}、{2,3}、{2,5}、{3,5} | はい |
3回目の反復では、{1,2,5}と{1,2,3}は両方とも{1,2}であるため、これらを破棄します。 これは、アプリオリアルゴリズムの主な影響です。
F3({1,2,5}と{1,2,3}を破棄した後)
アイテムセット | サポート |
{1,3,5} | 2 |
{2,3,5} | 2 |
4番目の反復では、F3のセットを使用してC4を作成します。 ただし、C4のサポート値が2未満であるため、先に進まず、最終的なアイテムセットはF3になります。
C3
アイテムセット | サポート |
{1,2,3,5} | 1 |
F3には次のアイテムセットがあります。
I = {1,3,5}の場合、サブセットは{5}、{3}、{1}、{3,5}、{1,5}、{1,3}です。
I = {2,3,5}の場合、サブセットは{5}、{3}、{2}、{3,5}、{2,5}、{2,3}です。
次に、アイテムセットF3にルールを作成して適用します。 そのために、最小信頼値は現在60%であると想定します。 IのサブセットSの場合、出力するルールは次のとおりです。
- S->(I、S)(これは、SがISを推奨することを意味します)
- support(I)/ support(S)>=min_conf値の場合
これを、最初のサブセット、つまり{1,3,5}に対して実行してみましょう。
ルール1: {1,3}->({1,3,5} – {1,3})これは1&3->5を意味します
信頼値=(1,3,5)のサポート値/(1,3)のサポート値= 2/3 = 66.66%
結果は60%を超えるため、ルール1を選択します。
ルール2: {1,5}-> {(1,3,5)– {1,5})これは1&5->3を意味します
信頼値=(1,3,5)のサポート値/(1,5)のサポート値= 2/2 = 100%
結果は60%を超えるため、ルール2を選択します。
ルール3: {3}->({1,3,5} – {3})これは3-> 1&5を意味します
信頼値=(1,3,5)のサポート値/(3)のサポート値= 2/4 = 50%
結果は60%未満であるため、ルール3を拒否します。
世界のトップ大学からデータサイエンスコースを取得します。 エグゼクティブPGプログラム、高度な証明書プログラム、または修士プログラムに参加して、キャリアを早めに進めましょう。
上記の例では、Aprioriアルゴリズムがどのようにルールを作成して適用するかを確認できます。 2番目のアイテムセット({2,3,5})については、次の手順に従うことができます。 試してみると、アルゴリズムがどのルールを受け入れ、どのルールを拒否するかを理解する上で素晴らしい経験が得られます。 アルゴリズムは、AprioriアルゴリズムPythonなどの他の場所でも同じです。
結論
この記事を読んだ後は、このアルゴリズムとそのアプリケーションに精通していると確信しています。 レコメンデーションシステムで使用されているため、非常に人気があります。
Aprioriアルゴリズムよりも効率的なアルゴリズムはありますか?
ECLAT(Equivalent ClassClusteringおよびボトムアップLatticeTraversal)アルゴリズムは、相関ルールマイニングに非常に便利で人気のあるアルゴリズムであることがわかりました。 その上、Aprioriアルゴリズムと比較してより効率的で高速なアルゴリズムであることが知られています。
Aprioriアルゴリズムは、グラフの幅優先探索を模倣するため、水平方向に機能しますが、ECLATアルゴリズムは、グラフの深さ優先探索を模倣することにより、垂直方向に機能します。 この垂直アプローチは、Aprioriアルゴリズムと比較してECLATアルゴリズムの速度と効率が高い理由です。
Aprioriアルゴリズムはどのような目的に役立ちますか?
Aprioriアルゴリズムは、データマイニングで広く使用されている古典的なアルゴリズムです。 これは、関連するアソシエーションルールや、利用可能なデータベースからの頻繁なアイテムセットのマイニングに非常に役立ちます。 通常、このアルゴリズムは、多数のトランザクションで構成されるデータベースを処理する必要がある組織で使用されます。 たとえば、アプリオリアルゴリズムを使用すると、顧客が店舗から頻繁に購入する商品を簡単に特定できます。 このアルゴリズムの助けを借りて、市場の売り上げを大幅に向上させることができます。
それ以外に、このアルゴリズムは、医薬品の副作用を検出するためにヘルスケア分野でも利用されています。 このアルゴリズムは、薬の副作用につながる可能性のある患者の特徴と投薬のすべての組み合わせを決定するための相関ルールを生成します。
Aprioriアルゴリズムの長所と短所は何ですか?
Aprioriアルゴリズムは、実装と理解が非常に簡単で、大きなアイテムセットで非常に効率的に使用できます。 場合によっては、多数の候補ルールを見つける必要があり、このプロセスは計算コストが少し高くなる可能性があります。 データベース全体を調べる必要があるため、サポートの計算にもコストがかかります。