DBSCAN
概要
この演算子は、DBSCANを使用してクラスタリングを実行します。 DBSCAN(ノイズを伴うアプリケーションの密度ベースの空間クラスタリング)は、対応するノードの推定密度分布から始まる多数のクラスターを検出するため、密度ベースのクラスタリングアルゴリズムです。
詳細
DBSCANのクラスターの定義は、密度到達可能性の概念に基づいています。基本的に、点qは、与えられた距離イプシロンより遠くない場合(つまり、イプシロン近傍の一部である場合)、およびpが十分に多くの点で囲まれている場合、点pから直接密度到達可能です。 pおよびqはクラスターの一部です。 qは、 p(1)= pおよびp(n)の点のシーケンスp(1)、…、p(n)がある場合、 pから密度到達可能(「直接密度到達可能」とは区別される)と呼ばれます。 = qここで、各p(i + 1)はp(i)から直接密度到達可能です。
密度到達可能の関係は対称ではないことに注意してください。 qはクラスターの端にあり、密度が高いと見なすには不十分な数の隣接ノードを持っている場合があります。これにより、最初の非高密度ポイントで停止するパスを見つけるプロセスが停止します。対照的に、 qでプロセスを開始すると、 pになります (ただし、プロセスはそこで停止しますが、 pは最初の非高密度ポイントです)。この非対称性に起因するが、密度接続の概念が導入されている:pとqの両方は、O濃度到達可能であるようにO点がある場合は2点p、qは密度接続されています。密度結合性は対称的です。
データセットのポイントのサブセットであるクラスターは、2つのプロパティを満たします。クラスター内のすべてのポイントは相互に密度結合されています。ポイントがクラスターの任意のポイントに密度接続されている場合、そのポイントもクラスターの一部です。
DBSCANには、イプシロンとクラスターの形成に必要な最小ポイント数(minPts)の2つのパラメーターが必要です。 epsilonおよびminPtsは、それぞれepsilonおよびminポイントパラメーターを介して指定できます。 DBSCANは、訪問されていない任意の開始点から開始します。このポイントのイプシロン近傍が取得され、十分な数のポイントが含まれている場合、クラスターが開始されます。それ以外の場合、ポイントはノイズとしてラベル付けされます。このポイントは、後で別のポイントの十分なサイズのイプシロン環境で見つかる可能性があるため、クラスターの一部になることに注意してください。
ポイントがクラスターの密な部分であることが判明した場合、そのイプシロン近傍もそのクラスターの一部です。したがって、イプシロン近傍内で見つかったすべてのポイントが追加され、それらが密である場合の独自のイプシロン近傍も追加されます。このプロセスは、密度に接続されたクラスターが完全に見つかるまで続きます。次に、新しい未訪問のポイントが取得および処理され、さらにクラスターまたはノイズが発見されます。
id属性が存在しない場合、この演算子は作成します。 DBSCANオペレーターによって割り当てられた「クラスター0」は、ノイズとしてラベル付けされたポイントに対応します。これらは、イプシロン近傍で最小ポイントポイントより少ないポイントです。
クラスタリングは、互いに類似しており、他のクラスターに属するオブジェクトとは異なるオブジェクトをグループ化することに関係しています。これは、ラベルのないデータから情報を抽出するための手法であり、多くのさまざまなシナリオで非常に役立ちます。たとえば、同様の購入行動を持つ顧客のクラスターを見つけることに関心があるマーケティングアプリケーションなどです。
入力
サンプルセット (IOObject)この入力ポートには、ExampleSetが必要です。添付のプロセス例のRetrieveオペレーターの出力です。
出力
- クラスターモデル (クラスターモデル)このポートはクラスターモデルを提供します。実行されたクラスタリングに関する情報が含まれています。どの例がどのクラスターの一部であるかを示します。
- クラスター化セット (IOObject)入力として指定されたExampleSetは、このポートを介して出力にわずかな変更を加えて渡されます。 idロールを持つ属性は、例を区別するために入力ExampleSetに追加されます。クラスター属性の追加パラメーターの状態に応じて、クラスターロールを持つ属性を追加することもできます。
パラメーター
- epsilonこのパラメーターは、DBSCANアルゴリズムのepsilonパラメーターを指定します。 epsilonは、近傍のサイズを指定します。 範囲:実数
- min_pointsこのパラメーターは、クラスターを形成するポイントの最小数を指定します。 範囲:整数
- add_cluster_attributeこのパラメーターがtrueに設定されている場合、結果のExampleSetにクラスターロールを持つ新しい属性が生成されます。そうでない場合、このオペレーターはクラスター属性を追加しません。後者の場合、モデルの適用演算子を使用してクラスター属性を生成する必要があります 。 範囲:ブール
- add_as_labelこのパラメーターをtrueに設定すると、クラスターIDはクラスターロールではなくラベルロールの属性に格納されます ( クラスター属性パラメーターの追加を参照)。 範囲:ブール
- remove_unlabeledこのパラメーターをtrueに設定すると、ラベルのないサンプルがExampleSetから削除されます。 範囲:ブール
- measure_typesこのパラメーターは、ポイント間の距離を測定するために使用されるメジャーのタイプを選択するために使用されます。次のオプションが使用可能です: 混合メジャー 、 名目メジャー 、 数値メジャー 、およびブレグマン発散 。 範囲:選択
- mixed_measureこのパラメーターは、 メジャータイプパラメーターが「混合メジャー」に設定されている場合に使用できます。使用可能なオプションは「混合ユークリッド距離」 範囲のみです:選択
- nominal_measureこのパラメーターは、 メジャータイプパラメーターが「nominal measure 」に設定されている場合に使用できます。入力ExampleSetに数値属性がある場合、このオプションは適用できません。この場合、「数値測定」オプションを選択する必要があります。 範囲:選択
- numeric_measureこのパラメーターは、 メジャータイプパラメーターが「数値メジャー」に設定されている場合に使用できます。入力ExampleSetにノミナル属性がある場合、このオプションは適用できません。入力ExampleSetにノミナル属性がある場合、「ノミナル測定」オプションを選択する必要があります。 範囲:選択
- divergenceこのパラメーターは、 メジャータイプパラメーターが ‘bregman divergences’に設定されている場合に使用できます。 範囲:選択
- kernel_typeこのパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定されている場合にのみ使用できます。カーネル関数のタイプは、このパラメーターを介して選択されます。次のカーネルタイプがサポートされています。
- dot:ドットカーネルは、k(x、y)= x * yで定義されます。つまり、xとyの内積です。
- radial:放射状カーネルはexp(-g || xy || ^ 2)で定義されます。ここで、gはカーネルガンマパラメーターで指定されたガンマです。調整可能なパラメーターガンマは、カーネルのパフォーマンスに大きな役割を果たしており、目前の問題に注意深く調整する必要があります。
- polynomial:多項式カーネルは、k(x、y)=(x * y + 1)^ dで定義されます。dは多項式の次数であり、カーネル次数パラメーターで指定されます。多項式カーネルは、すべてのトレーニングデータが正規化される問題に適しています。
- neural:ニューラルカーネルは、2層のニューラルネットtanh(ax * y + b)によって定義されます。ここで、aはアルファで、bは切片定数です。これらのパラメーターは、カーネルaおよびカーネルbパラメーターを使用して調整できます。アルファの一般的な値は1 / Nです。Nはデータ次元です。 aとbのすべての選択が有効なカーネル関数につながるわけではないことに注意してください。
- sigmoid:これはシグモイドカーネルです。一部のパラメーターでは、シグモイドカーネルが無効であることに注意してください。
- anova:これはanovaカーネルです。ガンマと角度の調整可能なパラメーターがあります。
- epachnenikov:Epanechnikovカーネルは、-1〜1のuに対してこの関数(3/4)(1-u2)であり、その範囲外のuに対してゼロです。カーネルsigma1とカーネル次数の2つの調整可能なパラメーターがあります。
- gaussian_combination:これはガウスの組み合わせカーネルです。調整可能なパラメーターkernel sigma1、kernel sigma2、kernel sigma3があります。
- multiquadric:multiquadricカーネルは、|| xy || ^ 2 + c ^ 2の平方根で定義されます。調整可能なパラメーターkernel sigma1およびkernel sigma shiftがあります。
範囲:選択
- kernel_gammaこれは、SVMカーネルパラメーターガンマです。このパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定され、 カーネルタイプパラメーターが放射状または分散分布に設定されている場合にのみ使用できます。 範囲:実数
- kernel_sigma1これはSVMカーネルパラメータsigma1です。このパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定され、 カーネルタイプパラメーターがepachnenikov 、 ガウスの組み合わせ、またはマルチクアドリックに設定されている場合にのみ使用できます。 範囲:実数
- kernel_sigma2これはSVMカーネルパラメータsigma2です。このパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定され、 カーネルタイプパラメーターがガウスの組み合わせに設定されている場合にのみ使用できます。 範囲:実数
- kernel_sigma3これはSVMカーネルパラメータsigma3です。このパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定され、 カーネルタイプパラメーターがガウスの組み合わせに設定されている場合にのみ使用できます。 範囲:実数
- kernel_shiftこれは、SVMカーネルパラメーターシフトです。このパラメーターは、 数値測定パラメーターが ‘Kernel Euclidean Distance’に設定され、 カーネルタイプパラメーターがmultiquadricに設定されている場合にのみ使用できます。 範囲:実数
- kernel_degreeこれは、SVMカーネルパラメータの次数です。このパラメーターは、 数値測定パラメーターが ‘Kernel Euclidean Distance’に設定され、 カーネルタイプパラメーターがPolynomial 、 anovaまたはepachnenikovに設定されている場合にのみ使用できます。 範囲:実数
- kernel_aこれはSVMカーネルパラメータaです。このパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定され、 カーネルタイプパラメーターがニューラルに設定されている場合にのみ使用できます。 範囲:実数
- kernel_bこれはSVMカーネルパラメータbです。このパラメーターは、 数値測定パラメーターが「カーネルユークリッド距離」に設定され、 カーネルタイプパラメーターがニューラルに設定されている場合にのみ使用できます。 範囲:実数
チュートリアルプロセス
DBSCANオペレーターによるRipley-Setデータセットのクラスタリング
多くの場合、ターゲット属性(つまり、ラベル)を定義できず、データは自動的にグループ化される必要があります。この手順は、クラスタリングと呼ばれます。 RapidMinerは、他の学習スキームとまったく同じ方法で使用できる幅広いクラスタリングスキームをサポートしています。これには、すべての前処理演算子との組み合わせが含まれます。
このプロセス例では、「Ripley-Set」データセットはRetrieve演算子を使用してロードされます。ラベルもロードされますが、クラスター自体の構築ではなく、視覚化と比較にのみ使用されることに注意してください。このステップでブレークポイントが挿入されるため、DBSCAN演算子を適用する前にExampleSetを確認できます。ラベル属性以外に、「Ripley-Set」には2つの実際の属性があります。 「att1」および「att2」。 DBSCAN演算子は、0.1に設定されたepsilonパラメーターを除くすべてのパラメーターのデフォルト値を使用して、このデータセットに適用されます。プロセスを実行すると、DBSCANオペレーターによって2つの新しい属性が作成されていることがわかります。 id属性は、例を明確に区別するために作成されます。クラスター属性は、サンプルが属するクラスターを示すために作成されます。各例は特定のクラスターに割り当てられます。 「cluster_0」の例はノイズと見なされます。このデータセットのプロットビューにも注意してください。プロットビューに切り替えて、プロッターを「散布図」に、x軸を「att1」に、y軸を「att2」に、「色の列」を「cluster」に設定します。アルゴリズムが3つの個別のグループを作成した方法を明確に見ることができます(ノイズ、つまりcluster_0も個別に表示されます)。クラスターモデルは、クラスターモデルの出力ポートからも配信されます。実行されたクラスタリングに関する情報が含まれています。フォルダービューでは、各クラスターのメンバーをフォルダー形式で表示できます。