Python関連分析のAprioriアルゴリズム


Aprioriアルゴリズムによる関連分析
Aprioriの原理
アイテムセットが頻繁である場合、そのすべてのサブセットも頻繁です.すなわち{0,1}が頻繁であれば{0},{1}も頻繁である.
この原理は直観的には役に立たないが、逆に見れば役に立つ.
アイテムセットが非頻繁である場合、そのすべてのスーパーセットも非頻繁です.すなわち,{0}も非頻繁であれば,{0,1}のような{0}を含むすべてのスーパーセットも非頻繁である.
重要な定義
#     :
    [['  ','  '],
     ['  ','  ','   ','  '],
     ['  ','  ','   ','  '],
     ['  ','  ','  ','   '],
     ['  ','  ','  ','  ']]
  • サポート
  • 1つの項目セットの支持度は、データセットがその項目セットの記録を含む割合として定められており、例えば上記の試験データでは、{豆乳}の支持度は4/5であったのに対し、5つの記録では、{豆乳,おむつ}が3つ含まれているため、{豆乳,おむつ}の支持度は3/5であった.サポートはアイテムセットに対して使用されるため、最小サポートを定義し、最小サポートを満たすアイテムセットのみを保持できます.
  • 信頼性または信頼性(confidence)
  • 信頼性は、{おむつ}→{ワイン}のような関連規則について定義される.この規則の信頼性は「支持度({おむつ,ワイン})/支持度({おむつ})」と定義される.上記の例では、「おむつ、ワイン」の支持度は3/5、「おむつ」の支持度は4/5であったので、「おむつ→ワイン」の信頼度は3/4=0.75であった.
    python実装
  • 対応ライブラリをインストールしてコマンドラインウィンドウを開き、pip install apyoriを入力して失敗した場合は、他の方法を使用します.テストインストール:from apyori import aprioriインポートに成功した場合、インストールは成功し、そうでない場合は失敗します.
  • API
  • from apyori import apriori
    
    data = [['  ','  '],
            ['  ','  ','   ','  '],
            ['  ','  ','   ','  '],
            ['  ','  ','  ','   '],
            ['  ','  ','  ','  ']]
    
    result = list(apriori(transactions=data)
    
    # apriori      :
    min_support -- The minimum support of relations (float).     ,       
    min_confidence -- The minimum confidence of relations (float).     ,       
    min_lift -- The minimum lift of relations (float).  
    max_length -- The maximum length of the relation (integer).  
    

    上に得られたresultはリストであり、関連するドキュメントが見つからなかったため、以下は私が理解できる要素の属性紹介です.
  • resultの各アイテムセットのプロパティの説明
  • items–アイテムセット、frozensetオブジェクト、サブセットを反復的に取り出すことができます.
  • support–サポート、floatタイプ.
  • confidence–信頼性または信頼性、floatタイプ.
  • ordered_statistics–関連ルールは反復可能であり、反復後、要素のプロパティは次のとおりです.
  • items_ベース–関連ルールの分母セット
  • confidence–上記の分母ルールに対応する関連ルールの信頼性


  • の最後の部分
    さあ、簡単なメモはここに書きます.このライブラリに対応するドキュメントはしばらく見つかりませんでしたが、pycharmで各アイテムセットのプロパティをプレビューできます.関連ルールのソートを直接導くことはできませんが、サポートを計算するために自分でアルゴリズムを書く必要はありません.自分で計算するプロセスよりずっといいです.
    に注意
    Aprioriアルゴリズムは、重複しないアイテムのセット数要素が多いケースには適用されません.あるショップの販売商品の種類がNであれば、そのすべてのサブセットの個数は2^N-1であり、その演算量の大きさは、予測可能であり、分析を提案する商品の種類<10種類です.