2

を使用して2Dデータをセグメント化すると、いくつかの助けが必要なセグメント化の問題があります。
2次元空間の大きな点集合を分割しようとしていますが、これには1つのカテゴリ変数もあります。プライマリセグメンテーションは、空間データのクラスタリングによって行う必要があり、必要に応じて、クラスタをカテゴリ変数に基づいてさらに分割する必要があります。さらにカテゴリ変数

例は次のとおりです。
都市内の住宅の地理座標のデータセットがあるとします。各家の場所に加えて、我々はまたどの色を持っているか知っています。家の位置と色をプロットすると、下の画像が得られます。この町には3つの町があり、そのうち2つは地理的に分かりにくいですが、外見に基づいてはっきりと区別できます。

Picture of three clusters. One is clearly separate, the other two border but can be separated based on colour (green on one side, orange and purple on the other

上記の例では、アカウントにカテゴリ変数を取らないであろうDBSCANまたはK-means法等のクラスタリングアルゴリズムを有するセグメントに困難であろう。さらに、紫とオレンジの住宅を分けることはできません。なぜなら、両方が同じ地域にあるからです。それは、奇妙な色の家屋が地理的な境界の外のクラスターに割り当てられることにつながるかもしれないので、gowerの距離を持った多次元スペースでクラスター化することも難しいでしょう。

この問題を解決するにはどうすればよいでしょうか?この種の問題に対処できるクラスタリングアルゴリズムのPython(またはR)実装がありますか?あるいは、コンピュータビジョンのアプローチがもっと合うでしょうか?

すべての入力を歓迎します。

+0

平均シフトセグメンテーションを見ましたか? – Shai

+0

私はちょうどそれを見て、それは興味深いようです。それは混合されたカテゴリの値のクラスターで動作しますか?また、これはおそらく、カテゴリ値を連続変数にマップする必要があることを意味することを訂正していますか? –

+1

あなたはあなたのカテゴリーデータへのマッピングを適用する必要があります。 AFAIK meanshiftを使用すると、空間ドメインとは異なる方法で「カテゴリ」のディメンションを扱うことができます。したがって、3つのカテゴリがある場合は、バイナリ3ベクトル(5Dデータで終わる)にマップできます。 – Shai

答えて

0

もう1つのアプローチは、色のすべてのサブセットに対して別々にDBSCANを実行し、推定される近傍の大きなセットを取得し、次にセットの包含に関してこのセットの最小要素を取ることです。上記の例では

  • グリーンは、あなたが緑の
  • +、青、赤、赤+青ギブ
  • 、あなたに 北と南、東と南西を与えます赤/青/両方が北になり、 南(2つの正確な近隣のマージ)を選択し、次に最小要素を取って をフィルタリングします。
+0

こんにちはフェリックス、提案していただきありがとうございます。直観的にはこれも私の最初のアプローチでしたが、設定されたインクルージョンは分析を複雑にし、また画像をオーバーセグメント化する傾向がありました。私はまだこのアプローチを改良することに取り組んでいますが、代わりの戦略に興味がありました。 –

関連する問題