0

DBSCANアルゴリズムは正確に何を入力として受け取りますか?

wekaコード化されたアルゴリズム内とアルゴリズム内で出力が異なるのはなぜですか?

コード化されたアルゴリズムでは、2 つの入力しか必要としませwekaんが、3 つの入力が必要になる場合があります。

誰かがアルゴリズムを理解するのを手伝ってくれますか?

4

2 に答える 2

1

アルゴリズムはウィキペディアでかなり詳しく説明されています。構成入力は次のとおりです。

  • eps: イプシロン近傍の最大距離。
  • minPts: リージョンを形成するために必要なポイントの数。

簡単に言うと、データ ポイントの周囲のイプシロン近傍に少なくとも が含まれている場合、新しいクラスターが作成されますminPts。さらに入力:

  • データセット (明らかに)
  • (おそらく) アルゴリズムがその点でパラメータ化を許可する場合、距離関数
于 2014-09-27T08:50:12.970 に答える
0

「2 つの入力」とは、たまたま 2 つの変数(次元) を意味しますか?

コードが 2 次元でのみ機能する場合は、距離関数について調べてください。ほとんどの距離関数は、2 次元以上で簡単に計算できます。たとえば、ユークリッド距離は次のように定義されます。

sqrt(pow(x_i-y_i, 2).sum())

これは、i を 1 から n > 2 にループするときにもうまく機能します。

DBSCAN には 2 つの明白なパラメーターと 1 つの隠しパラメーターがあります。minPts と epsilon は明らかなものであり、隠しパラメーターは距離関数です。これは結果に最も大きな影響を与え、選択するにはデータの理解が必要です。残念ながら、このパラメーターを選択するための経験則はありません。それは本当にあなたのデータに依存します。

Weka の実装で異なる結果が得られたとしても、私は驚きません。暗黙のデータ正規化が含まれているため、予期しない結果が生じる傾向があります... DBSCAN の最適な実装は、私見でELKIにあります。データ インデックスを有効にすると、非常に高速になります。

于 2014-09-27T20:16:59.153 に答える