地理的なポイントをクラスター化する必要があるプロジェクトを実装しています。OPTICS アルゴリズムは非常に優れたソリューションのようです。入力として 2 つのパラメーター (MinPts と Epsilon) が必要です。これらはそれぞれ、クラスターと見なすために必要なポイントの最小数であり、2 つのポイントが同じクラスターに配置できるかどうかを比較するために使用される距離値です。
私の問題は、ポイントが非常に多様であるため、固定のイプシロンを設定できないことです。下の画像を見てください。
ポイント構造は同じでもスケールが異なると、結果は大きく異なります。MinPts=2 および epsilon = 1Km に設定するとします。左側では、アルゴリズムは 2 つのクラスター (赤と青) を作成しますが、右側ではすべてのポイント (赤) を含む 1 つのクラスターを作成しますが、右側でも 2 つのクラスターを取得したいと考えています。
だから私の質問は: この結果を得るためにイプシロン値を動的に計算する方法はありますか?
EDIT 2012 年 6 月 5 日午後 3 時 15 分: javaml ライブラリの OPTICS アルゴリズム実装を使用していると思っていましたが、実際には DBSCAN アルゴリズム実装のようです。ここでの質問は、OPTICS アルゴリズムの Java ベースの実装を知っている人はいますか?
どうもありがとうございました。私の下手な英語をお許しください。
マルコ