2013-06-13 4 views
0

필자는 데이터 포인트의 순서를 유지하는 계층 적 클러스터링 구현 (matlab)을 필요로합니다. 예를 들어, 다음과 같이 출력하지 않기를 바랍니다.데이터 포인트의 순서를 보존하는 응집 클러스터링 알고리즘?

(((1, 5), (2, 3)), 4) 

나는 이보다 더 좋은 용어가 있다고 확신합니다. 클러스터를 결합하려면 입력과 동일한 순서로 서로 가까이 있어야합니다.

+0

직접 구현해 보셨습니까? 특별히 어려운 것은 아니며 클러스터 분석의 직관과 일치하지 않는다고 생각합니다. –

+0

확인. 비디오가 있고 프레임 간의 차이를 기반으로 비디오를 시간상으로 분할한다고 가정 해 봅시다. 그런 다음 인접하지 않은 세그먼트를 그룹화하고 싶지 않습니다. –

답변

0

더 이상 클러스터 분석이 아닙니다. 비슷하지만 클러스터되지 않습니다.

당신은 당신이 실제로 주어진 순서를 가지고 에 좋은 점을 찾아 세그먼트에 데이터, 즉를 시도하고는에게 그것을 분할합니다.

클러스터 분석에서 일반적인 생각으로는 개별 항목이 많고 을 수집하여 근처의 개체를 집계합니다. 그들은 과 같은 방식으로이 연속적 일 수도 있고 그렇지 않을 수도 있습니다.

정말, 대신 당신의 목표를 달성하기 위해 클러스터링 알고리즘을 해킹하려고, 그것은 시작 지점에서 시작하고, 다만 어쩌면 이전에 클러스터링에 사용 된 몇 가지 아이디어를 "다시"그냥 더 의미 .

이유는 기술적 인 것이 아니라 직감의 문제입니다.

+0

고마워요 @ Anony-Mousse. 그런 구현이 있는지 여부를 확인하는 중이었습니다. 바퀴를 처음부터 만들지 마라. –

+0

일반화 된 DBSCAN을 사용할 수도 있습니다. 일반화 된 버전에서 미리 정의 된 순서를 "이웃"으로 지정할 수 있습니다. 낮은 변이를 핵심 포인트 술어로 사용하십시오. –

관련 문제