3Dポイントのペア(またはインデックス番号のみ)で構成されるデータセットを接続されたクラスタに分割する方法はありますか?すなわち、a = c、b = c、a = dまたはb = d)、または共通点を共有している場合(a = c、b = c、a = dまたはb = d) 1つまたは複数の他のペアの連鎖であり、それぞれが1つのペアから別のペアへ前のものと共通の点を共有します。繰り返しデータによるクラスタリング
例えば、ペアのリスト次のよう
[[1,2],[2,3],[4,5],[6,7],[7,8],[9,4],[8,5]]
がグループ化される:最初のクラスタ、ペア(1,2)と(2,3)で
[[1,2],[2,3]]
[[4,5],[6,7],[7,8],[9,4],[8,5]]
ポイント2を共有し、クラスタ外のペアとポイントを共有しない。第2のクラスタでは、ペア(4,5)は(9,4)および(8,5)と共通点を共有し、(8,5)は共通点を(7,8)と(6,7)。
データは元々numpy配列に格納されていますが、出力形式はあまり重要ではありません。
その後、個々のクラスタを構成するデータにアクセスできる必要があります。 networkxを使用して
私はグループ化のロジックを理解することはできません。 '[1,2]、[2,3]'がクラスター内にある場合、 '[6,7]、[7,8]'はなぜかそれ自身のクラスターにもないのはなぜですか? 「繰り返しポイント」とはどういう意味ですか? – roganjosh
@roganjosh私は、グラフの接続されたコンポーネントを見つけることで問題を表すことができると考えています。ここで、与えられたペアはエッジであり、数字はノードです。 OP、networkxをチェックしてください。 –
@AlexHall不幸にも、質問にOP(またはOPではない)のコメントを追加するために、ランダムな編集が助けになるわけではありません。しかし、それでも、必要な出力を接続グラフの中断を識別すると解釈し、残りを別のリストにダンプしますか? '[6,7]、[7,8]'はまだ接続されていますが、残りの部分は表示されます。 – roganjosh