期待サポート値を決定する2つの手法:コンセプト階層と間接的関連付け
データマイニングにおいてパターンの期待サポート値を決定するには、主に2つのアプローチがあります。1つはコンセプト階層(概念階層)を利用する方法、もう1つは「間接的関連付け(indirect association)」と呼ばれる近傍ベースのアプローチです。
コンセプト階層に基づくサポート期待値
客観的な指標だけでは、興味のない非頻出パターンを除去するのに十分とは言えません。例えば、「パン」と「ノートパソコン」がどちらも頻出アイテムである場合を考えてみましょう。アイテムセット {パン, ノートパソコン} は非頻出であり、負の相関を持つ可能性がありますが、そのサポートが低いことはドメイン専門家にとって自明であるため、特に興味を引くものではありません。
このような自明な非頻出パターンの生成を防ぐためには、期待サポート値を決定する主観的なアプローチが必要となります。
間接的関連付けに基づくサポート期待値
次に、顧客が同時に購入するアイテムのペア (a, b) を考えてみます。a と b が無関係なアイテム(例:パンとDVDプレーヤー)であれば、それらが一緒に購入されるサポートは低いと予想されます。逆に、a と b が関連性のあるアイテムであれば、そのサポートは高いはずです。
先述の期待サポート値はコンセプト階層を利用して計算されましたが、ここで紹介するのは、これら2つのアイテムと共に頻繁に購入される他のアイテム(近傍アイテム)を観察することで、アイテムペア間の期待サポート値を決定するアプローチです。
無関係なアイテムペアの例
例えば、寝袋を購入する顧客は他のキャンプ用品も一緒に購入する傾向があり、一方、デスクトップパソコンを購入する顧客は光学マウスやプリンターといった他のパソコンアクセサリーも購入する傾向があるとします。
しかし、寝袋とデスクトップパソコンの両方と頻繁に一緒に購入されるアイテムは存在しません。したがって、これらの無関係なアイテムペアのサポートは低いと予想されます。
関連性のあるアイテムペアの例
一方、ダイエット用ソーダと普通のソーダは、ポテトチップスやクッキーと一緒に購入されることを考えてみましょう。コンセプト階層を利用しなくても、これら2つのアイテムは中程度に関連していると予想され、本来であればそのサポートは高いはずです。
ところが実際のサポートが低い場合、ダイエット用ソーダと普通のソーダの組み合わせは注目すべき非頻出パターンを形成します。このようなパターンは「間接的関連付けパターン(indirect association pattern)」と呼ばれます。
間接的関連付けの応用分野
間接的関連付けにはさまざまな応用があります。
- マーケットバスケット分析: アイテム a と b は、デスクトップパソコンとノートパソコンのような競合アイテムを表すことができます。
- テキストマイニング: 同義語、反義語、あるいは複数の文脈で使用される単語を認識するために活用できます。例えば、一連のドキュメントが与えられた場合、「data(データ)」という単語は、媒介となる単語を経由して「gold(金)」と間接的に関連付けることが可能です。
-
C言語の探索アルゴリズム解説|線形探索と二分探索の違いと実装例
探索(サーチ)とは、複数の要素で構成されるリストの中から、目的の「キー」となる要素を見つけ出す処理のことです。 リストの中に指定した要素が存在すれば、その探索は「成功」とみなされます。 指定した要素がリストに存在しなければ、その探索は「失敗(不成功)」となります。 C言語で広く使われている代表的な探索手法は、主に次の2つです。 線形探索(Linear Search/リニアサーチ) 二分探索(Binary Search/バイナリサーチ) 線形探索(Linear Search)とは 線形探索は、リストの先頭から順に要素を1つずつ取り出し、キーと一致するかどうかを確認していく、最も基本的な探
-
C#のコメントとは?複数行・単一行コメントの書き方を解説
コメントは、コードの内容や意図を説明するために記述する注釈です。コンパイラはコメント部分を完全に無視するため、プログラムの動作には一切影響しません。C#では、複数行にわたるコメントは「/*」で始まり、「*/」で終わります。 複数行コメント /* 以下はC#における 複数行コメントの例です */ 「/* ... */」で囲まれた範囲はすべてコンパイラによって無視されます。処理の概要や注意点など、複数行にわたる説明を残したい場合に使用します。 単一行コメント // 変数の宣言 int a = 10; 単一行コメントは「//」から行末までがコメントとして扱われます。変数の意味や処理の意図を手軽にメモ