0
sklearnのDBSCAN実装を使用したいと思います。カスタム距離メトリックを使用できますが、値はeps
です。 私が欲しいのは以下の通りです:sklearnの複数のeps値DBSCAN
私のポイントはそれぞれ3つのフィーチャーを持っていると言いますが、各ポイントはフォームp=np.array([p1,p2,p3])
のnumpy配列と考えることができます。 np.abs(p1-q1) < eps1
とnp.abs(p2-q2) < eps2
とnp.abs(p3-q3) < eps3
の場合、2つの点p
とq
が隣接しています。通常、を使用します(d(,)
はメトリックで、しきい値を設定します)。
私のニーズを簡単にSklearnに実装する方法はありますか?
この距離行列は、私の場合は疎です。それを利用してメモリ使用量を減らす方法はありますか?しかし、スケーリングのアイデアは美しいだけです!ありがとう! – Merlin1896
0.17 sklearnはスパース距離行列を使用できます。しかし、1を保存するのではなく、0を保存する必要があることに注意してください。欠損値は無限であるとみなされます。スケーリングのアプローチがスパース行列より高速であることがわかっても驚くことはありません。 –
[ELKI](https://elki-project.github.io/)では、この事前重み付けハックを使わずに距離関数を定義してインデックスアクセラレーションを得ることができます(本チュートリアル(https:// elki-project.github.io/tutorial/spatial_distance_functions)に加重距離で入力します)。しかし、それでも以前の重み付けは、すべての距離計算に重みを適用するよりもわずかに速いかもしれない。 –