DENCLUEとは何ですか?
クラスタリングは、知識発見のための重要なデータマイニングアプローチです。クラスタリングは、複数のデータオブジェクトをクラスターなどの同じグループに分類する探索的データ分析方法です。
DENCLUEは、密度ベースのクラスタリングを表します。これは、密度分布関数のグループに依存するクラスタリングアプローチです。 DENCLUEアルゴリズムは、クラスターモデルを使用し、カーネル密度推定に依存します。クラスターは、予測密度関数の極大値で表されます。
DENCLUEは、一様分布のレコードでは機能しません。高次元空間では、次元の呪いのため、データは常に均一に分布しているように見えます。したがって、DENCLUDEは、一般に高次元のレコードではうまく機能しません。
この方法は、次のようなアイデアに基づいて構築されています-
-
各データポイントの影響は、影響関数と呼ばれる数学関数を使用して正式にモデル化できます。この関数は、近隣内のデータポイントの影響を表します。
-
データ領域の完全な密度は、一部のデータポイントに使用される影響関数の合計として分析的にモデル化できます。
-
クラスターは、密度アトラクタを認識することによって数値的に決定できます。密度アトラクタは、完全な密度関数の極大値です。
xとyをf d のオブジェクトまたはポイントとします。 、d次元の入力空間。 xに対するデータオブジェクトyの影響関数は、基本的な影響関数fBで定義される関数$\mathrm {f_B ^ y \ Colon f ^ {d} \ rightarrow R_0 ^+}$です。 :
$$ \ mathrm {f_B ^ y(X)=f_ {B}(X、Y)} $$
これは、yがxに与える影響を反映しています。原則として、影響関数は、近隣の2つのオブジェクト間の距離によって決定できる任意の関数にすることができます。距離関数d(x、y)は、ユークリッド距離関数を含めて、反射的で対称的でなければなりません。
通常、方形波の影響関数を計算するために使用されます。
$$ \ mathrm {f_ {square}(X、Y)=\ begin {Bmatrix} 0 \:\:\:\:\:\:\:\:\:\:\:\ mathrm {if \:d (x、y)> \ sigma} \\ 1 \:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\:\mathrm{それ以外の場合} \ end {Bmatrix}} $$
またはガウス影響関数
$$ \ mathrm {f_ {Gauss}(x、y)=e- \ frac {d(x、y)^ 2} {2 {\ sigma} ^ 2}} $$
DENCLUEの利点
DENCLUEには次のようないくつかの利点があります-
-
強固な数値基盤があり、パーティショニング、階層、密度ベースの方法など、いくつかのクラスタリングアプローチを一般化します。
-
ノイズの多いデータセットに対して優れたクラスタリング特性を備えています。
-
これにより、高次元情報セット内の任意の形状のクラスターのコンパクトな数値記述が可能になります。
-
グリッドセルを使用しますが、実際にデータポイントを含むグリッドセルに関する情報のみを保持します。これらのセルをツリーベースのアクセス構造で管理するため、DBSCANなどの影響力のあるアルゴリズムよりも大幅に高速です。
-
これらの方法では、密度パラメーターσとノイズしきい値ξを慎重に選択する必要があります。このようなパラメーターの選択は、クラスタリング結果の品質に大きな影響を与える可能性があるためです。
-
Pythonのfilter()とは何ですか?
フィルタメソッドでは、別の関数で定義されたフィルタ条件を使用して、リストの特定の要素を除外します。したがって、最初に、フィルタリングの基準に言及するユーザー定義関数を作成します。この関数と提供されたリストが一緒になって、フィルター関数のパラメーターとして取得され、結果が得られます。 構文 filter(filter_function, sequence) 例 次の例では、リストに存在する偶数を検索する関数を作成します。次に、それらを破棄します(falseを返します)。残りの奇数は最終リストに追加されます。この関数を変更して、3または5程度で割り切れる数を除外できます。 num_list =
-
Pythonの名前空間とは何ですか?
名前空間は、スコープを実装する方法です。 Pythonでは、各パッケージ、モジュール、クラス、関数、およびメソッド関数は、変数名が解決される「名前空間」を所有しています。関数、モジュール、またはパッケージが評価される(つまり、実行が開始される)と、名前空間が作成されます。それを「評価コンテキスト」と考えてください。関数などの実行が終了すると、名前空間は削除されます。変数は削除されます。さらに、名前がローカル名前空間にない場合に使用されるグローバル名前空間があります。 各変数名はローカル名前空間(関数の本体、モジュールなど)でチェックされ、次にグローバル名前空間でチェックされます。 変数は通