3D 포인트 쌍 (또는 인덱스 번호)으로 구성된 데이터 세트를 연결된 클러스터로 분할하는 방법이 있습니까? 즉, (a = c, b = c, a = d 또는 b = d) 공통점을 공유하거나 두 개의 쌍 (a, b, c)가 동일한 클러스터에 있어야합니다. 하나 또는 그 이상의 다른 쌍의 체인으로서, 각각은 한 쌍에서 다른 쌍으로 이전 노드와 공통점을 공유합니다. 예를 들어반복 데이터를 통한 클러스터링
쌍 목록 :
[[1,2],[2,3],[4,5],[6,7],[7,8],[9,4],[8,5]]
같이 그룹화 될 다음 :
[[1,2],[2,3]]
[[4,5],[6,7],[7,8],[9,4],[8,5]]
제 클러스터
, 쌍 (1,2)와 (2,3) 포인트 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 또는 사용자가 아닌 의견을 추가하는 임의 편집에 의해 도움이되지 않습니다. 그렇더라도 필요한 출력을 연결 그래프의 중단을 식별하고 나머지를 다른 목록으로 덤프하는 것으로 해석해야합니까? '[6,7], [7,8]'은 여전히 연결되어 있지만 나머지 부분에서는 나타납니다. – roganjosh